0.11/0.12 % Problem : theBenchmark.p : TPTP v0.0.0. Released v0.0.0. 0.11/0.15 % Command : python3 /export/starexec/sandbox2/solver/bin/portfolio.lams.parallel.py %s %d /export/starexec/sandbox2/tmp/tmp.ODT5ThdMmh true 0.14/0.36 % Computer : n021.cluster.edu 0.14/0.36 % Model : x86_64 x86_64 0.14/0.36 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz 0.14/0.36 % Memory : 8042.1875MB 0.14/0.36 % OS : Linux 3.10.0-693.el7.x86_64 0.14/0.36 % CPULimit : 1200 0.14/0.36 % WCLimit : 120 0.14/0.36 % DateTime : Tue Jul 13 13:55:41 EDT 2021 0.14/0.36 % CPUTime : 0.14/0.36 % Running portfolio for 120 s 0.14/0.36 % File : /export/starexec/sandbox2/benchmark/theBenchmark.p 0.14/0.36 % Number of cores: 8 0.14/0.36 % Python version: Python 3.6.8 0.14/0.36 % Running in HO mode 0.51/0.60 % Total configuration time : 828 0.51/0.60 % Estimated wc time : 983 0.51/0.60 % Estimated cpu time (8 cpus) : 122.875 0.51/0.67 % /export/starexec/sandbox2/solver/bin/lams/40_c.s.sh running for 47s 0.51/0.69 % /export/starexec/sandbox2/solver/bin/lams/35_full_unif4.sh running for 47s 0.51/0.72 % /export/starexec/sandbox2/solver/bin/lams/40_c_ic.sh running for 47s 0.51/0.72 % /export/starexec/sandbox2/solver/bin/lams/15_e_short1.sh running for 18s 0.51/0.72 % /export/starexec/sandbox2/solver/bin/lams/40_noforms.sh running for 53s 0.51/0.72 % /export/starexec/sandbox2/solver/bin/lams/40_b.comb.sh running for 41s 0.51/0.72 % /export/starexec/sandbox2/solver/bin/lams/20_acsne_simpl.sh running for 24s 0.52/0.77 % /export/starexec/sandbox2/solver/bin/lams/30_sp5.sh running for 35s 0.52/0.79 % /export/starexec/sandbox2/solver/bin/lams/30_b.l.sh running for 53s 17.70/2.85 % Solved by lams/15_e_short1.sh. 17.70/2.85 % running E: timeout 11 /export/starexec/sandbox2/solver/bin/lams/eprover-ho --pos-ext=all --neg-ext=all /export/starexec/sandbox2/tmp/tmp.ODT5ThdMmh/e_input6810af --cpu-limit=9 --auto-schedule -s -p 17.70/2.85 % done 66 iterations in 1.938s 17.70/2.85 % SZS status Theorem for '/export/starexec/sandbox2/benchmark/theBenchmark.p' 17.70/2.85 % SZS output start Refutation 17.70/2.85 thf(term_type, type, term: $tType). 17.70/2.85 thf(subst_type, type, subst: $tType). 17.70/2.85 thf(lamnotvar_type, type, lamnotvar: $o). 17.70/2.85 thf(hoasapinj2_type, type, hoasapinj2: $o). 17.70/2.85 thf(apnotvar_type, type, apnotvar: $o). 17.70/2.85 thf(ap_type, type, ap: term > term > term). 17.70/2.85 thf(axapp_type, type, axapp: $o). 17.70/2.85 thf(var_type, type, var: term > $o). 17.70/2.85 thf(sh_type, type, sh: subst). 17.70/2.85 thf(shinj_type, type, shinj: $o). 17.70/2.85 thf(laminj_type, type, laminj: $o). 17.70/2.85 thf(hoaslaminj_gthm_type, type, hoaslaminj_gthm: $o). 17.70/2.85 thf(sub_type, type, sub: term > subst > term). 17.70/2.85 thf(push_type, type, push: term > subst > subst). 17.70/2.85 thf(ulamvarsh_type, type, ulamvarsh: $o). 17.70/2.85 thf('#_fresh_sk1288_type', type, '#_fresh_sk1288': term > term). 17.70/2.85 thf(hoasap_type, type, hoasap: subst > term > subst > term > term). 17.70/2.85 thf(id_type, type, id: subst). 17.70/2.85 thf(axassoc_type, type, axassoc: $o). 17.70/2.85 thf(axvarid_type, type, axvarid: $o). 17.70/2.85 thf(apinj1_type, type, apinj1: $o). 17.70/2.85 thf(axabs_type, type, axabs: $o). 17.70/2.85 thf(induction_type, type, induction: $o). 17.70/2.85 thf(lamnotap_type, type, lamnotap: $o). 17.70/2.85 thf(substmonoid_type, type, substmonoid: $o). 17.70/2.85 thf(axidr_type, type, axidr: $o). 17.70/2.85 thf(pushprop_type, type, pushprop: $o). 17.70/2.85 thf(lam_type, type, lam: term > term). 17.70/2.85 thf(apinj2_type, type, apinj2: $o). 17.70/2.85 thf(one_type, type, one: term). 17.70/2.85 thf(axshiftcons_type, type, axshiftcons: $o). 17.70/2.85 thf(axvarshift_type, type, axvarshift: $o). 17.70/2.85 thf(comp_type, type, comp: subst > subst > subst). 17.70/2.85 thf(ulamvar1_type, type, ulamvar1: $o). 17.70/2.85 thf(termmset_type, type, termmset: $o). 17.70/2.85 thf(axclos_type, type, axclos: $o). 17.70/2.85 thf(axvarcons_type, type, axvarcons: $o). 17.70/2.85 thf(induction2_type, type, induction2: $o). 17.70/2.85 thf(axidl_type, type, axidl: $o). 17.70/2.85 thf(hoaslaminj_type, type, hoaslaminj: $o). 17.70/2.85 thf(induction2lem_type, type, induction2lem: $o). 17.70/2.85 thf(axscons_type, type, axscons: $o). 17.70/2.85 thf(hoasapinj1_type, type, hoasapinj1: $o). 17.70/2.85 thf(ulamvarind_type, type, ulamvarind: $o). 17.70/2.85 thf(hoaslam_type, type, hoaslam: subst > (subst > term > term) > term). 17.70/2.85 thf(axmap_type, type, axmap: $o). 17.70/2.85 thf(hoaslaminj_gthm, axiom, hoaslaminj_gthm = 17.70/2.85 (( axapp ) => 17.70/2.85 ( ( axvarcons ) => 17.70/2.85 ( ( axvarid ) => 17.70/2.85 ( ( axabs ) => 17.70/2.85 ( ( axclos ) => 17.70/2.85 ( ( axidl ) => 17.70/2.85 ( ( axshiftcons ) => 17.70/2.85 ( ( axassoc ) => 17.70/2.85 ( ( axmap ) => 17.70/2.85 ( ( axidr ) => 17.70/2.85 ( ( axvarshift ) => 17.70/2.85 ( ( axscons ) => 17.70/2.85 ( ( ulamvar1 ) => 17.70/2.85 ( ( ulamvarsh ) => 17.70/2.85 ( ( ulamvarind ) => 17.70/2.85 ( ( apinj1 ) => 17.70/2.85 ( ( apinj2 ) => 17.70/2.85 ( ( laminj ) => 17.70/2.85 ( ( shinj ) => 17.70/2.85 ( ( lamnotap ) => 17.70/2.85 ( ( apnotvar ) => 17.70/2.85 ( ( lamnotvar ) => 17.70/2.85 ( ( induction ) => 17.70/2.85 ( ( pushprop ) => 17.70/2.85 ( ( induction2lem ) => 17.70/2.85 ( ( induction2 ) => 17.70/2.85 ( ( substmonoid ) => 17.70/2.85 ( ( termmset ) => 17.70/2.85 ( ( hoasapinj1 ) => 17.70/2.85 ( ( hoasapinj2 ) => 17.70/2.85 ( hoaslaminj ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ))). 17.70/2.85 thf('0', plain, 17.70/2.85 (( hoaslaminj_gthm ) = 17.70/2.85 ( ( axapp ) => 17.70/2.85 ( ( axvarcons ) => 17.70/2.85 ( ( axvarid ) => 17.70/2.85 ( ( axabs ) => 17.70/2.85 ( ( axclos ) => 17.70/2.85 ( ( axidl ) => 17.70/2.85 ( ( axshiftcons ) => 17.70/2.85 ( ( axassoc ) => 17.70/2.85 ( ( axmap ) => 17.70/2.85 ( ( axidr ) => 17.70/2.85 ( ( axvarshift ) => 17.70/2.85 ( ( axscons ) => 17.70/2.85 ( ( ulamvar1 ) => 17.70/2.85 ( ( ulamvarsh ) => 17.70/2.85 ( ( ulamvarind ) => 17.70/2.85 ( ( apinj1 ) => 17.70/2.85 ( ( apinj2 ) => 17.70/2.85 ( ( laminj ) => 17.70/2.85 ( ( shinj ) => 17.70/2.85 ( ( lamnotap ) => 17.70/2.85 ( ( apnotvar ) => 17.70/2.85 ( ( lamnotvar ) => 17.70/2.85 ( ( induction ) => 17.70/2.85 ( ( pushprop ) => 17.70/2.85 ( ( induction2lem ) => 17.70/2.85 ( ( induction2 ) => 17.70/2.85 ( ( substmonoid ) => 17.70/2.85 ( ( termmset ) => 17.70/2.85 ( ( hoasapinj1 ) => 17.70/2.85 ( ( hoasapinj2 ) => 17.70/2.85 ( hoaslaminj ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )), 17.70/2.85 define([status(thm)])). 17.70/2.85 thf(hoaslaminj, axiom, hoaslaminj = 17.70/2.85 (![F:( subst > term > term )]: 17.70/2.85 ( ( ![M:subst,A:term,N:subst]: 17.70/2.85 ( ( sub @ ( F @ M @ A ) @ N ) = 17.70/2.85 ( F @ ( comp @ M @ N ) @ ( sub @ A @ N ) ) ) ) => 17.70/2.85 ( ![G:( subst > term > term )]: 17.70/2.85 ( ( ![M:subst,A:term,N:subst]: 17.70/2.85 ( ( sub @ ( G @ M @ A ) @ N ) = 17.70/2.85 ( G @ ( comp @ M @ N ) @ ( sub @ A @ N ) ) ) ) => 17.70/2.85 ( ( ( hoaslam @ id @ ( ^[M:subst,A:term]: ( F @ M @ A ) ) ) = 17.70/2.85 ( hoaslam @ id @ ( ^[M:subst,A:term]: ( G @ M @ A ) ) ) ) => 17.70/2.85 ( ![M:subst,A:term]: ( ( F @ M @ A ) = ( G @ M @ A ) ) ) ) ) ) ))). 17.70/2.85 thf('1', plain, 17.70/2.85 (( hoaslaminj ) = 17.70/2.85 ( ![X4:( subst > term > term )]: 17.70/2.85 ( ( ![X6:subst,X8:term,X10:subst]: 17.70/2.85 ( ( sub @ ( X4 @ X6 @ X8 ) @ X10 ) = 17.70/2.85 ( X4 @ ( comp @ X6 @ X10 ) @ ( sub @ X8 @ X10 ) ) ) ) => 17.70/2.85 ( ![X12:( subst > term > term )]: 17.70/2.85 ( ( ![X14:subst,X16:term,X18:subst]: 17.70/2.85 ( ( sub @ ( X12 @ X14 @ X16 ) @ X18 ) = 17.70/2.85 ( X12 @ ( comp @ X14 @ X18 ) @ ( sub @ X16 @ X18 ) ) ) ) => 17.70/2.85 ( ( ( hoaslam @ 17.70/2.85 id @ ( ^[V_1:subst,V_2:term]: ( X4 @ V_1 @ V_2 ) ) ) = 17.70/2.85 ( hoaslam @ 17.70/2.85 id @ ( ^[V_3:subst,V_4:term]: ( X12 @ V_3 @ V_4 ) ) ) ) => 17.70/2.85 ( ![X20:subst,X22:term]: 17.70/2.85 ( ( X4 @ X20 @ X22 ) = ( X12 @ X20 @ X22 ) ) ) ) ) ) ) )), 17.70/2.85 define([status(thm)])). 17.70/2.85 thf(hoasapinj2, axiom, hoasapinj2 = 17.70/2.85 (![A:term,B:term,C:term,D:term]: 17.70/2.86 ( ( ( hoasap @ id @ A @ id @ C ) = ( hoasap @ id @ B @ id @ D ) ) => 17.70/2.86 ( ( C ) = ( D ) ) ))). 17.70/2.86 thf('2', plain, 17.70/2.86 (( hoasapinj2 ) = 17.70/2.86 ( ![X4:term,X6:term,X8:term,X10:term]: 17.70/2.86 ( ( ( hoasap @ id @ X4 @ id @ X8 ) = ( hoasap @ id @ X6 @ id @ X10 ) ) => 17.70/2.86 ( ( X8 ) = ( X10 ) ) ) )), 17.70/2.86 define([status(thm)])). 17.70/2.86 thf(hoasapinj1, axiom, hoasapinj1 = 17.70/2.86 (![A:term,B:term,C:term,D:term]: 17.70/2.86 ( ( ( hoasap @ id @ A @ id @ C ) = ( hoasap @ id @ B @ id @ D ) ) => 17.70/2.86 ( ( A ) = ( B ) ) ))). 17.70/2.86 thf('3', plain, 17.70/2.86 (( hoasapinj1 ) = 17.70/2.86 ( ![X4:term,X6:term,X8:term,X10:term]: 17.70/2.86 ( ( ( hoasap @ id @ X4 @ id @ X8 ) = ( hoasap @ id @ X6 @ id @ X10 ) ) => 17.70/2.86 ( ( X4 ) = ( X6 ) ) ) )), 17.70/2.86 define([status(thm)])). 17.70/2.86 thf(hoaslam, axiom,(( hoaslam ) = 17.70/2.86 (^[M:subst,F:( subst > term > term )]: ( lam @ ( F @ sh @ one ) )))). 17.70/2.86 thf('4', plain, 17.70/2.86 (( hoaslam ) = 17.70/2.86 ( ^[M:subst,F:( subst > term > term )]: ( lam @ ( F @ sh @ one ) ) )), 17.70/2.86 inference('simplify_rw_rule', [status(thm)], [hoaslam])). 17.70/2.86 thf('5', plain, 17.70/2.86 (( hoaslam ) = 17.70/2.86 ( ^[V_1:subst,V_2:( subst > term > term )]: ( lam @ ( V_2 @ sh @ one ) ) )), 17.70/2.86 define([status(thm)])). 17.70/2.86 thf(hoasap, axiom,(( hoasap ) = 17.70/2.86 (^[M:subst,A:term,N:subst,B:term]: ( ap @ ( sub @ A @ N ) @ B )))). 17.70/2.86 thf('6', plain, 17.70/2.86 (( hoasap ) = 17.70/2.86 ( ^[M:subst,A:term,N:subst,B:term]: ( ap @ ( sub @ A @ N ) @ B ) )), 17.70/2.86 inference('simplify_rw_rule', [status(thm)], [hoasap])). 17.70/2.86 thf('7', plain, 17.70/2.86 (( hoasap ) = 17.70/2.86 ( ^[V_1:subst,V_2:term,V_3:subst,V_4:term]: 17.70/2.86 ( ap @ ( sub @ V_2 @ V_3 ) @ V_4 ) )), 17.70/2.86 define([status(thm)])). 17.70/2.86 thf(termmset, axiom, termmset = 17.70/2.86 (( ![A:term]: ( ( sub @ A @ id ) = ( A ) ) ) & 17.70/2.86 ( ![A:term,M:subst,N:subst]: 17.70/2.86 ( ( sub @ ( sub @ A @ M ) @ N ) = ( sub @ A @ ( comp @ M @ N ) ) ) ))). 17.70/2.86 thf('8', plain, 17.70/2.86 (( termmset ) = 17.70/2.86 ( ( ![X4:term]: ( ( sub @ X4 @ id ) = ( X4 ) ) ) & 17.70/2.86 ( ![X6:term,X8:subst,X10:subst]: 17.70/2.86 ( ( sub @ ( sub @ X6 @ X8 ) @ X10 ) = 17.70/2.86 ( sub @ X6 @ ( comp @ X8 @ X10 ) ) ) ) )), 17.70/2.86 define([status(thm)])). 17.70/2.86 thf(substmonoid, axiom, substmonoid = 17.70/2.86 (( ![M:subst]: ( ( comp @ M @ id ) = ( M ) ) ) & 17.70/2.86 ( ![M:subst]: ( ( comp @ id @ M ) = ( M ) ) ) & 17.70/2.86 ( ![M:subst,N:subst,K:subst]: 17.70/2.86 ( ( comp @ ( comp @ M @ N ) @ K ) = ( comp @ M @ ( comp @ N @ K ) ) ) ))). 17.70/2.86 thf('9', plain, 17.70/2.86 (( substmonoid ) = 17.70/2.86 ( ( ![X4:subst]: ( ( comp @ X4 @ id ) = ( X4 ) ) ) & 17.70/2.86 ( ![X6:subst]: ( ( comp @ id @ X6 ) = ( X6 ) ) ) & 17.70/2.86 ( ![X8:subst,X10:subst,X12:subst]: 17.70/2.86 ( ( comp @ ( comp @ X8 @ X10 ) @ X12 ) = 17.70/2.86 ( comp @ X8 @ ( comp @ X10 @ X12 ) ) ) ) )), 17.70/2.86 define([status(thm)])). 17.70/2.86 thf(induction2, axiom, induction2 = 17.70/2.86 (![P:( term > $o )]: 17.70/2.86 ( ( ![A:term]: ( ( var @ A ) => ( P @ A ) ) ) => 17.70/2.86 ( ( ![A:term,B:term]: 17.70/2.86 ( ( P @ A ) => ( ( P @ B ) => ( P @ ( ap @ A @ B ) ) ) ) ) => 17.70/2.86 ( ( ![A:term]: 17.70/2.86 ( ( ![B:term]: 17.70/2.86 ( ( P @ B ) => ( P @ ( sub @ A @ ( push @ B @ id ) ) ) ) ) => 17.70/2.86 ( P @ ( lam @ A ) ) ) ) => 17.70/2.86 ( ![A:term]: ( P @ A ) ) ) ) ))). 17.70/2.86 thf('10', plain, 17.70/2.86 (( induction2 ) = 17.70/2.86 ( ![X4:( term > $o )]: 17.70/2.86 ( ( ![X6:term]: ( ( var @ X6 ) => ( X4 @ X6 ) ) ) => 17.70/2.86 ( ( ![X8:term,X10:term]: 17.70/2.86 ( ( X4 @ X8 ) => ( ( X4 @ X10 ) => ( X4 @ ( ap @ X8 @ X10 ) ) ) ) ) => 17.70/2.86 ( ( ![X12:term]: 17.70/2.86 ( ( ![X14:term]: 17.70/2.86 ( ( X4 @ X14 ) => 17.70/2.86 ( X4 @ ( sub @ X12 @ ( push @ X14 @ id ) ) ) ) ) => 17.70/2.86 ( X4 @ ( lam @ X12 ) ) ) ) => 17.70/2.86 ( ![X16:term]: ( X4 @ X16 ) ) ) ) ) )), 17.70/2.86 define([status(thm)])). 17.70/2.86 thf(induction2lem, axiom, induction2lem = 17.70/2.86 (![P:( term > $o )]: 17.70/2.86 ( ( ![A:term,B:term]: 17.70/2.86 ( ( P @ A ) => ( ( P @ B ) => ( P @ ( ap @ A @ B ) ) ) ) ) => 17.70/2.86 ( ( ![A:term]: 17.70/2.86 ( ( ![B:term]: 17.70/2.86 ( ( P @ B ) => ( P @ ( sub @ A @ ( push @ B @ id ) ) ) ) ) => 17.70/2.86 ( P @ ( lam @ A ) ) ) ) => 17.70/2.86 ( ![A:term,M:subst]: 17.70/2.86 ( ( ![B:term]: ( ( var @ B ) => ( P @ ( sub @ B @ M ) ) ) ) => 17.70/2.86 ( P @ ( sub @ A @ M ) ) ) ) ) ))). 17.70/2.86 thf('11', plain, 17.70/2.86 (( induction2lem ) = 17.70/2.86 ( ![X4:( term > $o )]: 17.70/2.86 ( ( ![X6:term,X8:term]: 17.70/2.86 ( ( X4 @ X6 ) => ( ( X4 @ X8 ) => ( X4 @ ( ap @ X6 @ X8 ) ) ) ) ) => 17.70/2.86 ( ( ![X10:term]: 17.70/2.86 ( ( ![X12:term]: 17.70/2.86 ( ( X4 @ X12 ) => 17.70/2.86 ( X4 @ ( sub @ X10 @ ( push @ X12 @ id ) ) ) ) ) => 17.70/2.86 ( X4 @ ( lam @ X10 ) ) ) ) => 17.70/2.86 ( ![X14:term,X16:subst]: 17.70/2.86 ( ( ![X18:term]: 17.70/2.86 ( ( var @ X18 ) => ( X4 @ ( sub @ X18 @ X16 ) ) ) ) => 17.70/2.86 ( X4 @ ( sub @ X14 @ X16 ) ) ) ) ) ) )), 17.70/2.86 define([status(thm)])). 17.70/2.86 thf(pushprop, axiom, pushprop = 17.70/2.86 (![P:( term > $o ),A:term,M:subst]: 17.70/2.86 ( ( ![B:term]: ( ( var @ B ) => ( P @ ( sub @ B @ M ) ) ) ) => 17.70/2.86 ( ( P @ A ) => 17.70/2.86 ( ![B:term]: ( ( var @ B ) => ( P @ ( sub @ B @ ( push @ A @ M ) ) ) ) ) ) ))). 17.70/2.86 thf('12', plain, 17.70/2.86 (( pushprop ) = 17.70/2.86 ( ![X4:( term > $o ),X6:term,X8:subst]: 17.70/2.86 ( ( ![X10:term]: ( ( var @ X10 ) => ( X4 @ ( sub @ X10 @ X8 ) ) ) ) => 17.70/2.86 ( ( X4 @ X6 ) => 17.70/2.86 ( ![X12:term]: 17.70/2.86 ( ( var @ X12 ) => ( X4 @ ( sub @ X12 @ ( push @ X6 @ X8 ) ) ) ) ) ) ) )), 17.70/2.86 define([status(thm)])). 17.70/2.86 thf(induction, axiom, induction = 17.70/2.86 (![P:( term > $o )]: 17.70/2.86 ( ( ![A:term]: ( ( var @ A ) => ( P @ A ) ) ) => 17.70/2.86 ( ( ![A:term,B:term]: 17.70/2.86 ( ( P @ A ) => ( ( P @ B ) => ( P @ ( ap @ A @ B ) ) ) ) ) => 17.70/2.86 ( ( ![A:term]: ( ( P @ A ) => ( P @ ( lam @ A ) ) ) ) => 17.70/2.86 ( ![A:term]: ( P @ A ) ) ) ) ))). 17.70/2.86 thf('13', plain, 17.70/2.86 (( induction ) = 17.70/2.86 ( ![X4:( term > $o )]: 17.70/2.86 ( ( ![X6:term]: ( ( var @ X6 ) => ( X4 @ X6 ) ) ) => 17.70/2.86 ( ( ![X8:term,X10:term]: 17.70/2.86 ( ( X4 @ X8 ) => ( ( X4 @ X10 ) => ( X4 @ ( ap @ X8 @ X10 ) ) ) ) ) => 17.70/2.86 ( ( ![X12:term]: ( ( X4 @ X12 ) => ( X4 @ ( lam @ X12 ) ) ) ) => 17.70/2.86 ( ![X14:term]: ( X4 @ X14 ) ) ) ) ) )), 17.70/2.86 define([status(thm)])). 17.70/2.86 thf(lamnotvar, axiom, lamnotvar = (![A:term]: ( ~( var @ ( lam @ A ) ) ))). 17.70/2.86 thf('14', plain, 17.70/2.86 (( lamnotvar ) = ( ![X4:term]: ( ~( var @ ( lam @ X4 ) ) ) )), 17.70/2.86 define([status(thm)])). 17.70/2.86 thf(apnotvar, axiom, apnotvar = 17.70/2.86 (![A:term,B:term]: ( ~( var @ ( ap @ A @ B ) ) ))). 17.70/2.86 thf('15', plain, 17.70/2.86 (( apnotvar ) = ( ![X4:term,X6:term]: ( ~( var @ ( ap @ X4 @ X6 ) ) ) )), 17.70/2.86 define([status(thm)])). 17.70/2.86 thf(lamnotap, axiom, lamnotap = 17.70/2.86 (![A:term,B:term,C:term]: ( ( lam @ A ) != ( ap @ B @ C ) ))). 17.70/2.86 thf('16', plain, 17.70/2.86 (( lamnotap ) = 17.70/2.86 ( ![X4:term,X6:term,X8:term]: ( ( lam @ X4 ) != ( ap @ X6 @ X8 ) ) )), 17.70/2.86 define([status(thm)])). 17.70/2.86 thf(shinj, axiom, shinj = 17.70/2.86 (![A:term,B:term]: 17.70/2.86 ( ( ( sub @ A @ sh ) = ( sub @ B @ sh ) ) => ( ( A ) = ( B ) ) ))). 17.70/2.86 thf('17', plain, 17.70/2.86 (( shinj ) = 17.70/2.86 ( ![X4:term,X6:term]: 17.70/2.86 ( ( ( sub @ X4 @ sh ) = ( sub @ X6 @ sh ) ) => ( ( X4 ) = ( X6 ) ) ) )), 17.70/2.86 define([status(thm)])). 17.70/2.86 thf(laminj, axiom, laminj = 17.70/2.86 (![A:term,B:term]: ( ( ( lam @ A ) = ( lam @ B ) ) => ( ( A ) = ( B ) ) ))). 17.70/2.86 thf('18', plain, 17.70/2.86 (( laminj ) = 17.70/2.86 ( ![X4:term,X6:term]: 17.70/2.86 ( ( ( lam @ X4 ) = ( lam @ X6 ) ) => ( ( X4 ) = ( X6 ) ) ) )), 17.70/2.86 define([status(thm)])). 17.70/2.86 thf(apinj2, axiom, apinj2 = 17.70/2.86 (![A:term,B:term,C:term,D:term]: 17.70/2.86 ( ( ( ap @ A @ C ) = ( ap @ B @ D ) ) => ( ( C ) = ( D ) ) ))). 17.70/2.86 thf('19', plain, 17.70/2.86 (( apinj2 ) = 17.70/2.86 ( ![X4:term,X6:term,X8:term,X10:term]: 17.70/2.86 ( ( ( ap @ X4 @ X8 ) = ( ap @ X6 @ X10 ) ) => ( ( X8 ) = ( X10 ) ) ) )), 17.70/2.86 define([status(thm)])). 17.70/2.86 thf(apinj1, axiom, apinj1 = 17.70/2.86 (![A:term,B:term,C:term,D:term]: 17.70/2.86 ( ( ( ap @ A @ C ) = ( ap @ B @ D ) ) => ( ( A ) = ( B ) ) ))). 17.70/2.86 thf('20', plain, 17.70/2.86 (( apinj1 ) = 17.70/2.86 ( ![X4:term,X6:term,X8:term,X10:term]: 17.70/2.86 ( ( ( ap @ X4 @ X8 ) = ( ap @ X6 @ X10 ) ) => ( ( X4 ) = ( X6 ) ) ) )), 17.70/2.86 define([status(thm)])). 17.70/2.86 thf(ulamvarind, axiom, ulamvarind = 17.70/2.86 (![P:( term > $o )]: 17.70/2.86 ( ( P @ one ) => 17.70/2.86 ( ( ![A:term]: 17.70/2.86 ( ( var @ A ) => ( ( P @ A ) => ( P @ ( sub @ A @ sh ) ) ) ) ) => 17.70/2.86 ( ![A:term]: ( ( var @ A ) => ( P @ A ) ) ) ) ))). 17.70/2.86 thf('21', plain, 17.70/2.86 (( ulamvarind ) = 17.70/2.86 ( ![X4:( term > $o )]: 17.70/2.86 ( ( X4 @ one ) => 17.70/2.86 ( ( ![X6:term]: 17.70/2.86 ( ( var @ X6 ) => ( ( X4 @ X6 ) => ( X4 @ ( sub @ X6 @ sh ) ) ) ) ) => 17.70/2.86 ( ![X8:term]: ( ( var @ X8 ) => ( X4 @ X8 ) ) ) ) ) )), 17.70/2.86 define([status(thm)])). 17.70/2.86 thf(ulamvarsh, axiom, ulamvarsh = 17.70/2.86 (![A:term]: ( ( var @ A ) => ( var @ ( sub @ A @ sh ) ) ))). 17.70/2.86 thf('22', plain, 17.70/2.86 (( ulamvarsh ) = 17.70/2.86 ( ![X4:term]: ( ( var @ X4 ) => ( var @ ( sub @ X4 @ sh ) ) ) )), 17.70/2.86 define([status(thm)])). 17.70/2.86 thf(ulamvar1, axiom,(( ulamvar1 ) = (var @ one))). 17.70/2.86 thf('23', plain, (( ulamvar1 ) = ( var @ one )), 17.70/2.86 inference('simplify_rw_rule', [status(thm)], [ulamvar1])). 17.70/2.86 thf('24', plain, (( ulamvar1 ) = ( var @ one )), define([status(thm)])). 17.70/2.86 thf(axscons, axiom, axscons = 17.70/2.86 (![M:subst]: ( ( push @ ( sub @ one @ M ) @ ( comp @ sh @ M ) ) = ( M ) ))). 17.70/2.86 thf('25', plain, 17.70/2.86 (( axscons ) = 17.70/2.86 ( ![X4:subst]: 17.70/2.86 ( ( push @ ( sub @ one @ X4 ) @ ( comp @ sh @ X4 ) ) = ( X4 ) ) )), 17.70/2.86 define([status(thm)])). 17.70/2.86 thf(axvarshift, axiom, axvarshift = (( push @ one @ sh ) = ( id ))). 17.70/2.86 thf('26', plain, (( axvarshift ) = ( ( push @ one @ sh ) = ( id ) )), 17.70/2.86 define([status(thm)])). 17.70/2.86 thf(axidr, axiom, axidr = (![M:subst]: ( ( comp @ M @ id ) = ( M ) ))). 17.70/2.86 thf('27', plain, 17.70/2.86 (( axidr ) = ( ![X4:subst]: ( ( comp @ X4 @ id ) = ( X4 ) ) )), 17.70/2.86 define([status(thm)])). 17.70/2.86 thf(axmap, axiom, axmap = 17.70/2.86 (![A:term,M:subst,N:subst]: 17.70/2.86 ( ( comp @ ( push @ A @ M ) @ N ) = 17.70/2.86 ( push @ ( sub @ A @ N ) @ ( comp @ M @ N ) ) ))). 17.70/2.86 thf('28', plain, 17.70/2.86 (( axmap ) = 17.70/2.86 ( ![X4:term,X6:subst,X8:subst]: 17.70/2.86 ( ( comp @ ( push @ X4 @ X6 ) @ X8 ) = 17.70/2.86 ( push @ ( sub @ X4 @ X8 ) @ ( comp @ X6 @ X8 ) ) ) )), 17.70/2.86 define([status(thm)])). 17.70/2.86 thf(axassoc, axiom, axassoc = 17.70/2.86 (![M:subst,N:subst,K:subst]: 17.70/2.86 ( ( comp @ ( comp @ M @ N ) @ K ) = ( comp @ M @ ( comp @ N @ K ) ) ))). 17.70/2.86 thf('29', plain, 17.70/2.86 (( axassoc ) = 17.70/2.86 ( ![X4:subst,X6:subst,X8:subst]: 17.70/2.86 ( ( comp @ ( comp @ X4 @ X6 ) @ X8 ) = 17.70/2.86 ( comp @ X4 @ ( comp @ X6 @ X8 ) ) ) )), 17.70/2.86 define([status(thm)])). 17.70/2.86 thf(axshiftcons, axiom, axshiftcons = 17.70/2.86 (![A:term,M:subst]: ( ( comp @ sh @ ( push @ A @ M ) ) = ( M ) ))). 17.70/2.86 thf('30', plain, 17.70/2.86 (( axshiftcons ) = 17.70/2.86 ( ![X4:term,X6:subst]: ( ( comp @ sh @ ( push @ X4 @ X6 ) ) = ( X6 ) ) )), 17.70/2.86 define([status(thm)])). 17.70/2.86 thf(axidl, axiom, axidl = (![M:subst]: ( ( comp @ id @ M ) = ( M ) ))). 17.70/2.86 thf('31', plain, 17.70/2.86 (( axidl ) = ( ![X4:subst]: ( ( comp @ id @ X4 ) = ( X4 ) ) )), 17.70/2.86 define([status(thm)])). 17.70/2.86 thf(axclos, axiom, axclos = 17.70/2.86 (![A:term,M:subst,N:subst]: 17.70/2.86 ( ( sub @ ( sub @ A @ M ) @ N ) = ( sub @ A @ ( comp @ M @ N ) ) ))). 17.70/2.86 thf('32', plain, 17.70/2.86 (( axclos ) = 17.70/2.86 ( ![X4:term,X6:subst,X8:subst]: 17.70/2.86 ( ( sub @ ( sub @ X4 @ X6 ) @ X8 ) = ( sub @ X4 @ ( comp @ X6 @ X8 ) ) ) )), 17.70/2.86 define([status(thm)])). 17.70/2.86 thf(axabs, axiom, axabs = 17.70/2.86 (![A:term,M:subst]: 17.70/2.86 ( ( sub @ ( lam @ A ) @ M ) = 17.70/2.86 ( lam @ ( sub @ A @ ( push @ one @ ( comp @ M @ sh ) ) ) ) ))). 17.70/2.86 thf('33', plain, 17.70/2.86 (( axabs ) = 17.70/2.86 ( ![X4:term,X6:subst]: 17.70/2.86 ( ( sub @ ( lam @ X4 ) @ X6 ) = 17.70/2.86 ( lam @ ( sub @ X4 @ ( push @ one @ ( comp @ X6 @ sh ) ) ) ) ) )), 17.70/2.86 define([status(thm)])). 17.70/2.86 thf(axvarid, axiom, axvarid = (![A:term]: ( ( sub @ A @ id ) = ( A ) ))). 17.70/2.86 thf('34', plain, 17.70/2.86 (( axvarid ) = ( ![X4:term]: ( ( sub @ X4 @ id ) = ( X4 ) ) )), 17.70/2.86 define([status(thm)])). 17.70/2.86 thf(axvarcons, axiom, axvarcons = 17.70/2.86 (![A:term,M:subst]: ( ( sub @ one @ ( push @ A @ M ) ) = ( A ) ))). 17.70/2.86 thf('35', plain, 17.70/2.86 (( axvarcons ) = 17.70/2.86 ( ![X4:term,X6:subst]: ( ( sub @ one @ ( push @ X4 @ X6 ) ) = ( X4 ) ) )), 17.70/2.86 define([status(thm)])). 17.70/2.86 thf(axapp, axiom, axapp = 17.70/2.86 (![A:term,B:term,M:subst]: 17.70/2.86 ( ( sub @ ( ap @ A @ B ) @ M ) = 17.70/2.86 ( ap @ ( sub @ A @ M ) @ ( sub @ B @ M ) ) ))). 17.70/2.86 thf('36', plain, 17.70/2.86 (( axapp ) = 17.70/2.86 ( ![X4:term,X6:term,X8:subst]: 17.70/2.86 ( ( sub @ ( ap @ X4 @ X6 ) @ X8 ) = 17.70/2.86 ( ap @ ( sub @ X4 @ X8 ) @ ( sub @ X6 @ X8 ) ) ) )), 17.70/2.86 define([status(thm)])).thf(thm, conjecture, (hoaslaminj_gthm)). 17.70/2.86 thf(zf_stmt_0, conjecture, 17.70/2.86 (( ![X4:term,X6:term,X8:subst]: 17.70/2.86 ( ( sub @ ( ap @ X4 @ X6 ) @ X8 ) = 17.70/2.86 ( ap @ ( sub @ X4 @ X8 ) @ ( sub @ X6 @ X8 ) ) ) ) => 17.70/2.86 ( ( ![X10:term,X12:subst]: 17.70/2.86 ( ( sub @ one @ ( push @ X10 @ X12 ) ) = ( X10 ) ) ) => 17.70/2.86 ( ( ![X14:term]: ( ( sub @ X14 @ id ) = ( X14 ) ) ) => 17.70/2.86 ( ( ![X16:term,X18:subst]: 17.70/2.86 ( ( sub @ ( lam @ X16 ) @ X18 ) = 17.70/2.86 ( lam @ ( sub @ X16 @ ( push @ one @ ( comp @ X18 @ sh ) ) ) ) ) ) => 17.70/2.86 ( ( ![X20:term,X22:subst,X24:subst]: 17.70/2.86 ( ( sub @ ( sub @ X20 @ X22 ) @ X24 ) = 17.70/2.86 ( sub @ X20 @ ( comp @ X22 @ X24 ) ) ) ) => 17.70/2.86 ( ( ![X26:subst]: ( ( comp @ id @ X26 ) = ( X26 ) ) ) => 17.70/2.86 ( ( ![X28:term,X30:subst]: 17.70/2.86 ( ( comp @ sh @ ( push @ X28 @ X30 ) ) = ( X30 ) ) ) => 17.70/2.86 ( ( ![X32:subst,X34:subst,X36:subst]: 17.70/2.86 ( ( comp @ ( comp @ X32 @ X34 ) @ X36 ) = 17.70/2.86 ( comp @ X32 @ ( comp @ X34 @ X36 ) ) ) ) => 17.70/2.86 ( ( ![X38:term,X40:subst,X42:subst]: 17.70/2.86 ( ( comp @ ( push @ X38 @ X40 ) @ X42 ) = 17.70/2.86 ( push @ ( sub @ X38 @ X42 ) @ ( comp @ X40 @ X42 ) ) ) ) => 17.70/2.86 ( ( ![X44:subst]: ( ( comp @ X44 @ id ) = ( X44 ) ) ) => 17.70/2.86 ( ( ( push @ one @ sh ) = ( id ) ) => 17.70/2.86 ( ( ![X46:subst]: 17.70/2.86 ( ( push @ 17.70/2.86 ( sub @ one @ X46 ) @ ( comp @ sh @ X46 ) ) = 17.70/2.86 ( X46 ) ) ) => 17.70/2.86 ( ( var @ one ) => 17.70/2.86 ( ( ![X48:term]: 17.70/2.86 ( ( var @ X48 ) => 17.70/2.86 ( var @ ( sub @ X48 @ sh ) ) ) ) => 17.70/2.86 ( ( ![X50:( term > $o )]: 17.70/2.86 ( ( X50 @ one ) => 17.70/2.86 ( ( ![X52:term]: 17.70/2.86 ( ( var @ X52 ) => 17.70/2.86 ( ( X50 @ X52 ) => 17.70/2.86 ( X50 @ ( sub @ X52 @ sh ) ) ) ) ) => 17.70/2.86 ( ![X54:term]: 17.70/2.86 ( ( var @ X54 ) => ( X50 @ X54 ) ) ) ) ) ) => 17.70/2.86 ( ( ![X56:term,X58:term,X60:term,X62:term]: 17.70/2.86 ( ( ( ap @ X56 @ X60 ) = 17.70/2.86 ( ap @ X58 @ X62 ) ) => 17.70/2.86 ( ( X56 ) = ( X58 ) ) ) ) => 17.70/2.86 ( ( ![X64:term,X66:term,X68:term,X70:term]: 17.70/2.86 ( ( ( ap @ X64 @ X68 ) = 17.70/2.86 ( ap @ X66 @ X70 ) ) => 17.70/2.86 ( ( X68 ) = ( X70 ) ) ) ) => 17.70/2.86 ( ( ![X72:term,X74:term]: 17.70/2.86 ( ( ( lam @ X72 ) = ( lam @ X74 ) ) => 17.70/2.86 ( ( X72 ) = ( X74 ) ) ) ) => 17.70/2.86 ( ( ![X76:term,X78:term]: 17.70/2.86 ( ( ( sub @ X76 @ sh ) = 17.70/2.86 ( sub @ X78 @ sh ) ) => 17.70/2.86 ( ( X76 ) = ( X78 ) ) ) ) => 17.70/2.86 ( ( ![X80:term,X82:term,X84:term]: 17.70/2.86 ( ( lam @ X80 ) != 17.70/2.86 ( ap @ X82 @ X84 ) ) ) => 17.70/2.86 ( ( ![X86:term,X88:term]: 17.70/2.86 ( ~( var @ ( ap @ X86 @ X88 ) ) ) ) => 17.70/2.86 ( ( ![X90:term]: 17.70/2.86 ( ~( var @ ( lam @ X90 ) ) ) ) => 17.70/2.86 ( ( ![X92:( term > $o )]: 17.70/2.86 ( ( ![X94:term]: 17.70/2.86 ( ( var @ X94 ) => 17.70/2.86 ( X92 @ X94 ) ) ) => 17.70/2.86 ( ( ![X96:term,X98:term]: 17.70/2.86 ( ( X92 @ X96 ) => 17.70/2.86 ( ( X92 @ X98 ) => 17.70/2.86 ( X92 @ 17.70/2.86 ( ap @ X96 @ X98 ) ) ) ) ) => 17.70/2.86 ( ( ![X100:term]: 17.70/2.86 ( ( X92 @ X100 ) => 17.70/2.86 ( X92 @ 17.70/2.86 ( lam @ X100 ) ) ) ) => 17.70/2.86 ( ![X102:term]: 17.70/2.86 ( X92 @ X102 ) ) ) ) ) ) => 17.70/2.86 ( ( ![X104:( term > $o ), 17.70/2.86 X106:term,X108:subst]: 17.70/2.86 ( ( ![X110:term]: 17.70/2.86 ( ( var @ X110 ) => 17.70/2.86 ( X104 @ 17.70/2.86 ( sub @ 17.70/2.86 X110 @ X108 ) ) ) ) => 17.70/2.86 ( ( X104 @ X106 ) => 17.70/2.86 ( ![X112:term]: 17.70/2.86 ( ( var @ X112 ) => 17.70/2.86 ( X104 @ 17.70/2.86 ( sub @ 17.70/2.86 X112 @ 17.70/2.86 ( push @ 17.70/2.86 X106 @ X108 ) ) ) ) ) ) ) ) => 17.70/2.86 ( ( ![X114:( term > $o )]: 17.70/2.86 ( ( ![X116:term, 17.70/2.86 X118:term]: 17.70/2.86 ( ( X114 @ X116 ) => 17.70/2.86 ( ( X114 @ X118 ) => 17.70/2.86 ( X114 @ 17.70/2.86 ( ap @ 17.70/2.86 X116 @ X118 ) ) ) ) ) => 17.70/2.86 ( ( ![X120:term]: 17.70/2.86 ( ( ![X122:term]: 17.70/2.86 ( ( X114 @ 17.70/2.86 X122 ) => 17.70/2.86 ( X114 @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 X120 @ 17.70/2.86 ( 17.70/2.86 push @ 17.70/2.86 X122 @ id ) ) ) ) ) => 17.70/2.86 ( X114 @ 17.70/2.86 ( lam @ X120 ) ) ) ) => 17.70/2.86 ( ![X124:term, 17.70/2.86 X126:subst]: 17.70/2.86 ( ( ![X128:term]: 17.70/2.86 ( ( var @ X128 ) => 17.70/2.86 ( X114 @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 X128 @ 17.70/2.86 X126 ) ) ) ) => 17.70/2.86 ( X114 @ 17.70/2.86 ( sub @ 17.70/2.86 X124 @ X126 ) ) ) ) ) ) ) => 17.70/2.86 ( ( ![X130:( term > $o )]: 17.70/2.86 ( ( ![X132:term]: 17.70/2.86 ( ( var @ X132 ) => 17.70/2.86 ( X130 @ X132 ) ) ) => 17.70/2.86 ( ( ![X134:term, 17.70/2.86 X136:term]: 17.70/2.86 ( ( X130 @ X134 ) => 17.70/2.86 ( ( X130 @ 17.70/2.86 X136 ) => 17.70/2.86 ( X130 @ 17.70/2.86 ( 17.70/2.86 ap @ 17.70/2.86 X134 @ 17.70/2.86 X136 ) ) ) ) ) => 17.70/2.86 ( ( ![X138:term]: 17.70/2.86 ( ( ![ 17.70/2.86 X140:term]: 17.70/2.86 ( 17.70/2.86 ( 17.70/2.86 X130 @ 17.70/2.86 X140 ) => 17.70/2.86 ( 17.70/2.86 X130 @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 X138 @ 17.70/2.86 ( 17.70/2.86 push @ 17.70/2.86 X140 @ id ) ) ) ) ) => 17.70/2.86 ( X130 @ 17.70/2.86 ( 17.70/2.86 lam @ X138 ) ) ) ) => 17.70/2.86 ( ![X142:term]: 17.70/2.86 ( X130 @ X142 ) ) ) ) ) ) => 17.70/2.86 ( ( ( ![X148:subst, 17.70/2.86 X150:subst, 17.70/2.86 X152:subst]: 17.70/2.86 ( ( comp @ 17.70/2.86 ( comp @ 17.70/2.86 X148 @ X150 ) @ 17.70/2.86 X152 ) = 17.70/2.86 ( comp @ 17.70/2.86 X148 @ 17.70/2.86 ( comp @ 17.70/2.86 X150 @ X152 ) ) ) ) & 17.70/2.86 ( ![X146:subst]: 17.70/2.86 ( ( comp @ 17.70/2.86 id @ X146 ) = 17.70/2.86 ( X146 ) ) ) & 17.70/2.86 ( ![X144:subst]: 17.70/2.86 ( ( comp @ 17.70/2.86 X144 @ id ) = 17.70/2.86 ( X144 ) ) ) ) => 17.70/2.86 ( ( ( ![X156:term, 17.70/2.86 X158:subst, 17.70/2.86 X160:subst]: 17.70/2.86 ( ( sub @ 17.70/2.86 ( sub @ 17.70/2.86 X156 @ 17.70/2.86 X158 ) @ 17.70/2.86 X160 ) = 17.70/2.86 ( sub @ 17.70/2.86 X156 @ 17.70/2.86 ( comp @ 17.70/2.86 X158 @ 17.70/2.86 X160 ) ) ) ) & 17.70/2.86 ( ![X154:term]: 17.70/2.86 ( ( sub @ 17.70/2.86 X154 @ id ) = 17.70/2.86 ( X154 ) ) ) ) => 17.70/2.86 ( ( ![X162:term, 17.70/2.86 X164:term, 17.70/2.86 X166:term, 17.70/2.86 X168:term]: 17.70/2.86 ( ( ( ap @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 X162 @ id ) @ 17.70/2.86 X166 ) = 17.70/2.86 ( ap @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 X164 @ id ) @ 17.70/2.86 X168 ) ) => 17.70/2.86 ( ( X162 ) = 17.70/2.86 ( X164 ) ) ) ) => 17.70/2.86 ( ( ![X170:term, 17.70/2.86 X172:term, 17.70/2.86 X174:term, 17.70/2.86 X176:term]: 17.70/2.86 ( ( ( 17.70/2.86 ap @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 X170 @ id ) @ 17.70/2.86 X174 ) = 17.70/2.86 ( 17.70/2.86 ap @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 X172 @ id ) @ 17.70/2.86 X176 ) ) => 17.70/2.86 ( ( 17.70/2.86 X174 ) = 17.70/2.86 ( 17.70/2.86 X176 ) ) ) ) => 17.70/2.86 ( ![X178:( 17.70/2.86 subst > term > 17.70/2.86 term )]: 17.70/2.86 ( ( ![ 17.70/2.86 X180:subst, 17.70/2.86 X182:term, 17.70/2.86 X184:subst]: 17.70/2.86 ( 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 ( 17.70/2.86 X178 @ 17.70/2.86 X180 @ 17.70/2.86 X182 ) @ 17.70/2.86 X184 ) = 17.70/2.86 ( 17.70/2.86 X178 @ 17.70/2.86 ( 17.70/2.86 comp @ 17.70/2.86 X180 @ 17.70/2.86 X184 ) @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 X182 @ 17.70/2.86 X184 ) ) ) ) => 17.70/2.86 ( ![ 17.70/2.86 X186:( 17.70/2.86 subst > 17.70/2.86 term > 17.70/2.86 term )]: 17.70/2.86 ( 17.70/2.86 ( 17.70/2.86 ![ 17.70/2.86 X188:subst, 17.70/2.86 X190:term, 17.70/2.86 X192:subst]: 17.70/2.86 ( 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 ( 17.70/2.86 X186 @ 17.70/2.86 X188 @ 17.70/2.86 X190 ) @ 17.70/2.86 X192 ) = 17.70/2.86 ( 17.70/2.86 X186 @ 17.70/2.86 ( 17.70/2.86 comp @ 17.70/2.86 X188 @ 17.70/2.86 X192 ) @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 X190 @ 17.70/2.86 X192 ) ) ) ) => 17.70/2.86 ( 17.70/2.86 ( 17.70/2.86 ( 17.70/2.86 lam @ 17.70/2.86 ( 17.70/2.86 X178 @ 17.70/2.86 sh @ one ) ) = 17.70/2.86 ( 17.70/2.86 lam @ 17.70/2.86 ( 17.70/2.86 X186 @ 17.70/2.86 sh @ one ) ) ) => 17.70/2.86 ( 17.70/2.86 ![ 17.70/2.86 X194:subst, 17.70/2.86 X196:term]: 17.70/2.86 ( 17.70/2.86 ( 17.70/2.86 X178 @ 17.70/2.86 X194 @ 17.70/2.86 X196 ) = 17.70/2.86 ( 17.70/2.86 X186 @ 17.70/2.86 X194 @ 17.70/2.86 X196 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ))). 17.70/2.86 thf(zf_stmt_1, negated_conjecture, 17.70/2.86 (~( ( ![X4:term,X6:term,X8:subst]: 17.70/2.86 ( ( sub @ ( ap @ X4 @ X6 ) @ X8 ) = 17.70/2.86 ( ap @ ( sub @ X4 @ X8 ) @ ( sub @ X6 @ X8 ) ) ) ) => 17.70/2.86 ( ( ![X10:term,X12:subst]: 17.70/2.86 ( ( sub @ one @ ( push @ X10 @ X12 ) ) = ( X10 ) ) ) => 17.70/2.86 ( ( ![X14:term]: ( ( sub @ X14 @ id ) = ( X14 ) ) ) => 17.70/2.86 ( ( ![X16:term,X18:subst]: 17.70/2.86 ( ( sub @ ( lam @ X16 ) @ X18 ) = 17.70/2.86 ( lam @ ( sub @ X16 @ ( push @ one @ ( comp @ X18 @ sh ) ) ) ) ) ) => 17.70/2.86 ( ( ![X20:term,X22:subst,X24:subst]: 17.70/2.86 ( ( sub @ ( sub @ X20 @ X22 ) @ X24 ) = 17.70/2.86 ( sub @ X20 @ ( comp @ X22 @ X24 ) ) ) ) => 17.70/2.86 ( ( ![X26:subst]: ( ( comp @ id @ X26 ) = ( X26 ) ) ) => 17.70/2.86 ( ( ![X28:term,X30:subst]: 17.70/2.86 ( ( comp @ sh @ ( push @ X28 @ X30 ) ) = ( X30 ) ) ) => 17.70/2.86 ( ( ![X32:subst,X34:subst,X36:subst]: 17.70/2.86 ( ( comp @ ( comp @ X32 @ X34 ) @ X36 ) = 17.70/2.86 ( comp @ X32 @ ( comp @ X34 @ X36 ) ) ) ) => 17.70/2.86 ( ( ![X38:term,X40:subst,X42:subst]: 17.70/2.86 ( ( comp @ ( push @ X38 @ X40 ) @ X42 ) = 17.70/2.86 ( push @ ( sub @ X38 @ X42 ) @ ( comp @ X40 @ X42 ) ) ) ) => 17.70/2.86 ( ( ![X44:subst]: ( ( comp @ X44 @ id ) = ( X44 ) ) ) => 17.70/2.86 ( ( ( push @ one @ sh ) = ( id ) ) => 17.70/2.86 ( ( ![X46:subst]: 17.70/2.86 ( ( push @ 17.70/2.86 ( sub @ one @ X46 ) @ ( comp @ sh @ X46 ) ) = 17.70/2.86 ( X46 ) ) ) => 17.70/2.86 ( ( var @ one ) => 17.70/2.86 ( ( ![X48:term]: 17.70/2.86 ( ( var @ X48 ) => 17.70/2.86 ( var @ ( sub @ X48 @ sh ) ) ) ) => 17.70/2.86 ( ( ![X50:( term > $o )]: 17.70/2.86 ( ( X50 @ one ) => 17.70/2.86 ( ( ![X52:term]: 17.70/2.86 ( ( var @ X52 ) => 17.70/2.86 ( ( X50 @ X52 ) => 17.70/2.86 ( X50 @ ( sub @ X52 @ sh ) ) ) ) ) => 17.70/2.86 ( ![X54:term]: 17.70/2.86 ( ( var @ X54 ) => ( X50 @ X54 ) ) ) ) ) ) => 17.70/2.86 ( ( ![X56:term,X58:term,X60:term,X62:term]: 17.70/2.86 ( ( ( ap @ X56 @ X60 ) = 17.70/2.86 ( ap @ X58 @ X62 ) ) => 17.70/2.86 ( ( X56 ) = ( X58 ) ) ) ) => 17.70/2.86 ( ( ![X64:term,X66:term,X68:term,X70:term]: 17.70/2.86 ( ( ( ap @ X64 @ X68 ) = 17.70/2.86 ( ap @ X66 @ X70 ) ) => 17.70/2.86 ( ( X68 ) = ( X70 ) ) ) ) => 17.70/2.86 ( ( ![X72:term,X74:term]: 17.70/2.86 ( ( ( lam @ X72 ) = ( lam @ X74 ) ) => 17.70/2.86 ( ( X72 ) = ( X74 ) ) ) ) => 17.70/2.86 ( ( ![X76:term,X78:term]: 17.70/2.86 ( ( ( sub @ X76 @ sh ) = 17.70/2.86 ( sub @ X78 @ sh ) ) => 17.70/2.86 ( ( X76 ) = ( X78 ) ) ) ) => 17.70/2.86 ( ( ![X80:term,X82:term,X84:term]: 17.70/2.86 ( ( lam @ X80 ) != 17.70/2.86 ( ap @ X82 @ X84 ) ) ) => 17.70/2.86 ( ( ![X86:term,X88:term]: 17.70/2.86 ( ~( var @ ( ap @ X86 @ X88 ) ) ) ) => 17.70/2.86 ( ( ![X90:term]: 17.70/2.86 ( ~( var @ ( lam @ X90 ) ) ) ) => 17.70/2.86 ( ( ![X92:( term > $o )]: 17.70/2.86 ( ( ![X94:term]: 17.70/2.86 ( ( var @ X94 ) => 17.70/2.86 ( X92 @ X94 ) ) ) => 17.70/2.86 ( ( ![X96:term,X98:term]: 17.70/2.86 ( ( X92 @ X96 ) => 17.70/2.86 ( ( X92 @ X98 ) => 17.70/2.86 ( X92 @ 17.70/2.86 ( ap @ 17.70/2.86 X96 @ X98 ) ) ) ) ) => 17.70/2.86 ( ( ![X100:term]: 17.70/2.86 ( ( X92 @ X100 ) => 17.70/2.86 ( X92 @ 17.70/2.86 ( lam @ X100 ) ) ) ) => 17.70/2.86 ( ![X102:term]: 17.70/2.86 ( X92 @ X102 ) ) ) ) ) ) => 17.70/2.86 ( ( ![X104:( term > $o ), 17.70/2.86 X106:term,X108:subst]: 17.70/2.86 ( ( ![X110:term]: 17.70/2.86 ( ( var @ X110 ) => 17.70/2.86 ( X104 @ 17.70/2.86 ( sub @ 17.70/2.86 X110 @ X108 ) ) ) ) => 17.70/2.86 ( ( X104 @ X106 ) => 17.70/2.86 ( ![X112:term]: 17.70/2.86 ( ( var @ X112 ) => 17.70/2.86 ( X104 @ 17.70/2.86 ( sub @ 17.70/2.86 X112 @ 17.70/2.86 ( push @ 17.70/2.86 X106 @ 17.70/2.86 X108 ) ) ) ) ) ) ) ) => 17.70/2.86 ( ( ![X114:( term > $o )]: 17.70/2.86 ( ( ![X116:term, 17.70/2.86 X118:term]: 17.70/2.86 ( ( X114 @ X116 ) => 17.70/2.86 ( ( X114 @ X118 ) => 17.70/2.86 ( X114 @ 17.70/2.86 ( ap @ 17.70/2.86 X116 @ 17.70/2.86 X118 ) ) ) ) ) => 17.70/2.86 ( ( ![X120:term]: 17.70/2.86 ( ( ![X122:term]: 17.70/2.86 ( ( 17.70/2.86 X114 @ 17.70/2.86 X122 ) => 17.70/2.86 ( 17.70/2.86 X114 @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 X120 @ 17.70/2.86 ( 17.70/2.86 push @ 17.70/2.86 X122 @ id ) ) ) ) ) => 17.70/2.86 ( X114 @ 17.70/2.86 ( lam @ 17.70/2.86 X120 ) ) ) ) => 17.70/2.86 ( ![X124:term, 17.70/2.86 X126:subst]: 17.70/2.86 ( ( ![X128:term]: 17.70/2.86 ( ( 17.70/2.86 var @ 17.70/2.86 X128 ) => 17.70/2.86 ( 17.70/2.86 X114 @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 X128 @ 17.70/2.86 X126 ) ) ) ) => 17.70/2.86 ( X114 @ 17.70/2.86 ( sub @ 17.70/2.86 X124 @ 17.70/2.86 X126 ) ) ) ) ) ) ) => 17.70/2.86 ( ( ![X130:( term > $o )]: 17.70/2.86 ( ( ![X132:term]: 17.70/2.86 ( ( var @ X132 ) => 17.70/2.86 ( X130 @ X132 ) ) ) => 17.70/2.86 ( ( ![X134:term, 17.70/2.86 X136:term]: 17.70/2.86 ( ( X130 @ 17.70/2.86 X134 ) => 17.70/2.86 ( ( 17.70/2.86 X130 @ 17.70/2.86 X136 ) => 17.70/2.86 ( 17.70/2.86 X130 @ 17.70/2.86 ( 17.70/2.86 ap @ 17.70/2.86 X134 @ 17.70/2.86 X136 ) ) ) ) ) => 17.70/2.86 ( ( ![X138:term]: 17.70/2.86 ( ( 17.70/2.86 ![ 17.70/2.86 X140:term]: 17.70/2.86 ( 17.70/2.86 ( 17.70/2.86 X130 @ 17.70/2.86 X140 ) => 17.70/2.86 ( 17.70/2.86 X130 @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 X138 @ 17.70/2.86 ( 17.70/2.86 push @ 17.70/2.86 X140 @ id ) ) ) ) ) => 17.70/2.86 ( 17.70/2.86 X130 @ 17.70/2.86 ( 17.70/2.86 lam @ 17.70/2.86 X138 ) ) ) ) => 17.70/2.86 ( ![X142:term]: 17.70/2.86 ( X130 @ 17.70/2.86 X142 ) ) ) ) ) ) => 17.70/2.86 ( ( ( ![X148:subst, 17.70/2.86 X150:subst, 17.70/2.86 X152:subst]: 17.70/2.86 ( ( comp @ 17.70/2.86 ( comp @ 17.70/2.86 X148 @ 17.70/2.86 X150 ) @ 17.70/2.86 X152 ) = 17.70/2.86 ( comp @ 17.70/2.86 X148 @ 17.70/2.86 ( comp @ 17.70/2.86 X150 @ 17.70/2.86 X152 ) ) ) ) & 17.70/2.86 ( ![X146:subst]: 17.70/2.86 ( ( comp @ 17.70/2.86 id @ X146 ) = 17.70/2.86 ( X146 ) ) ) & 17.70/2.86 ( ![X144:subst]: 17.70/2.86 ( ( comp @ 17.70/2.86 X144 @ id ) = 17.70/2.86 ( X144 ) ) ) ) => 17.70/2.86 ( ( ( ![X156:term, 17.70/2.86 X158:subst, 17.70/2.86 X160:subst]: 17.70/2.86 ( ( sub @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 X156 @ 17.70/2.86 X158 ) @ 17.70/2.86 X160 ) = 17.70/2.86 ( sub @ 17.70/2.86 X156 @ 17.70/2.86 ( 17.70/2.86 comp @ 17.70/2.86 X158 @ 17.70/2.86 X160 ) ) ) ) & 17.70/2.86 ( ![X154:term]: 17.70/2.86 ( ( sub @ 17.70/2.86 X154 @ id ) = 17.70/2.86 ( X154 ) ) ) ) => 17.70/2.86 ( ( ![X162:term, 17.70/2.86 X164:term, 17.70/2.86 X166:term, 17.70/2.86 X168:term]: 17.70/2.86 ( ( ( 17.70/2.86 ap @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 X162 @ id ) @ 17.70/2.86 X166 ) = 17.70/2.86 ( 17.70/2.86 ap @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 X164 @ id ) @ 17.70/2.86 X168 ) ) => 17.70/2.86 ( ( 17.70/2.86 X162 ) = 17.70/2.86 ( 17.70/2.86 X164 ) ) ) ) => 17.70/2.86 ( ( ![X170:term, 17.70/2.86 X172:term, 17.70/2.86 X174:term, 17.70/2.86 X176:term]: 17.70/2.86 ( ( 17.70/2.86 ( 17.70/2.86 ap @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 X170 @ id ) @ 17.70/2.86 X174 ) = 17.70/2.86 ( 17.70/2.86 ap @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 X172 @ id ) @ 17.70/2.86 X176 ) ) => 17.70/2.86 ( 17.70/2.86 ( 17.70/2.86 X174 ) = 17.70/2.86 ( 17.70/2.86 X176 ) ) ) ) => 17.70/2.86 ( ![X178:( 17.70/2.86 subst > 17.70/2.86 term > 17.70/2.86 term )]: 17.70/2.86 ( ( 17.70/2.86 ![ 17.70/2.86 X180:subst, 17.70/2.86 X182:term, 17.70/2.86 X184:subst]: 17.70/2.86 ( 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 ( 17.70/2.86 X178 @ 17.70/2.86 X180 @ 17.70/2.86 X182 ) @ 17.70/2.86 X184 ) = 17.70/2.86 ( 17.70/2.86 X178 @ 17.70/2.86 ( 17.70/2.86 comp @ 17.70/2.86 X180 @ 17.70/2.86 X184 ) @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 X182 @ 17.70/2.86 X184 ) ) ) ) => 17.70/2.86 ( 17.70/2.86 ![ 17.70/2.86 X186:( 17.70/2.86 subst > 17.70/2.86 term > 17.70/2.86 term )]: 17.70/2.86 ( 17.70/2.86 ( 17.70/2.86 ![ 17.70/2.86 X188:subst, 17.70/2.86 X190:term, 17.70/2.86 X192:subst]: 17.70/2.86 ( 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 ( 17.70/2.86 X186 @ 17.70/2.86 X188 @ 17.70/2.86 X190 ) @ 17.70/2.86 X192 ) = 17.70/2.86 ( 17.70/2.86 X186 @ 17.70/2.86 ( 17.70/2.86 comp @ 17.70/2.86 X188 @ 17.70/2.86 X192 ) @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 X190 @ 17.70/2.86 X192 ) ) ) ) => 17.70/2.86 ( 17.70/2.86 ( 17.70/2.86 ( 17.70/2.86 lam @ 17.70/2.86 ( 17.70/2.86 X178 @ 17.70/2.86 sh @ one ) ) = 17.70/2.86 ( 17.70/2.86 lam @ 17.70/2.86 ( 17.70/2.86 X186 @ 17.70/2.86 sh @ one ) ) ) => 17.70/2.86 ( 17.70/2.86 ![ 17.70/2.86 X194:subst, 17.70/2.86 X196:term]: 17.70/2.86 ( 17.70/2.86 ( 17.70/2.86 X178 @ 17.70/2.86 X194 @ 17.70/2.86 X196 ) = 17.70/2.86 ( 17.70/2.86 X186 @ 17.70/2.86 X194 @ 17.70/2.86 X196 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )), 17.70/2.86 inference('cnf.neg', [status(esa)], [zf_stmt_0])). 17.70/2.86 thf(zip_derived_cl0, plain, 17.70/2.86 (~ (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ (^[Y1 : term]: 17.70/2.86 (((!!) @ (^[Y2 : subst]: 17.70/2.86 (((sub @ (ap @ Y0 @ Y1) @ Y2) = 17.70/2.86 (ap @ (sub @ Y0 @ Y2) @ 17.70/2.86 (sub @ Y1 @ Y2))))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ (^[Y1 : subst]: 17.70/2.86 (((sub @ one @ (push @ Y0 @ Y1)) = (Y0))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: (((sub @ Y0 @ id) = (Y0)))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ (^[Y1 : subst]: 17.70/2.86 (((sub @ (lam @ Y0) @ Y1) = (lam @ 17.70/2.86 (sub @ Y0 @ 17.70/2.86 (push @ one @ (comp @ Y1 @ sh)))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ (^[Y1 : subst]: 17.70/2.86 (((!!) @ (^[Y2 : subst]: 17.70/2.86 (((sub @ 17.70/2.86 (sub @ Y0 @ Y1) @ 17.70/2.86 Y2) = (sub @ Y0 @ 17.70/2.86 (comp @ Y1 @ Y2))))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : subst]: (((comp @ id @ Y0) = (Y0)))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ (^[Y1 : subst]: 17.70/2.86 (((comp @ sh @ 17.70/2.86 (push @ Y0 @ Y1)) = (Y1))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : subst]: 17.70/2.86 (((!!) @ (^[Y1 : subst]: 17.70/2.86 (((!!) @ (^[Y2 : subst]: 17.70/2.86 (((comp @ 17.70/2.86 (comp @ Y0 @ Y1) @ 17.70/2.86 Y2) = (comp @ 17.70/2.86 Y0 @ 17.70/2.86 (comp @ Y1 @ Y2))))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ (^[Y1 : subst]: 17.70/2.86 (((!!) @ (^[Y2 : subst]: 17.70/2.86 (((comp @ 17.70/2.86 (push @ Y0 @ 17.70/2.86 Y1) @ 17.70/2.86 Y2) = (push @ 17.70/2.86 (sub @ Y0 @ Y2) @ 17.70/2.86 (comp @ Y1 @ 17.70/2.86 Y2))))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : subst]: 17.70/2.86 (((comp @ Y0 @ id) = (Y0)))))) => 17.70/2.86 (((((push @ one @ sh) = (id))) => 17.70/2.86 (((((!!) @ (^[Y0 : subst]: 17.70/2.86 (((push @ (sub @ one @ Y0) @ 17.70/2.86 (comp @ sh @ Y0)) = (Y0)))))) => 17.70/2.86 (((var @ one) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((var @ Y0) => (var @ 17.70/2.86 (sub @ Y0 @ sh))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term > $o]: 17.70/2.86 (((Y0 @ one) => 17.70/2.86 (((((!!) @ (^[Y1 : term]: 17.70/2.86 (((var @ 17.70/2.86 Y1) => 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y1) => 17.70/2.86 (Y0 @ 17.70/2.86 (sub @ 17.70/2.86 Y1 @ sh))))))))) => 17.70/2.86 (((!!) @ (^[Y1 : term]: 17.70/2.86 (((var @ 17.70/2.86 Y1) => 17.70/2.86 (Y0 @ Y1))))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ (^[Y1 : term]: 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y2 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y3 : term]: 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (ap @ 17.70/2.86 Y0 @ 17.70/2.86 Y2) = 17.70/2.86 (ap @ 17.70/2.86 Y1 @ Y3))) => 17.70/2.86 (( 17.70/2.86 (Y0) = 17.70/2.86 (Y1))))))))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ (^[Y1 : term]: 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y2 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y3 : term]: 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (ap @ 17.70/2.86 Y0 @ 17.70/2.86 Y2) = 17.70/2.86 (ap @ 17.70/2.86 Y1 @ Y3))) => 17.70/2.86 (( 17.70/2.86 (Y2) = 17.70/2.86 (Y3))))))))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ (^[Y1 : term]: 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (lam @ 17.70/2.86 Y0) = 17.70/2.86 (lam @ 17.70/2.86 Y1))) => 17.70/2.86 (( 17.70/2.86 (Y0) = 17.70/2.86 (Y1))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ (^[Y1 : term]: 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (sub @ 17.70/2.86 Y0 @ 17.70/2.86 sh) = 17.70/2.86 (sub @ 17.70/2.86 Y1 @ sh))) => 17.70/2.86 (( 17.70/2.86 (Y0) = 17.70/2.86 (Y1))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y2 : term]: 17.70/2.86 (( 17.70/2.86 (lam @ 17.70/2.86 Y0) != 17.70/2.86 (ap @ 17.70/2.86 Y1 @ Y2)))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (((~) @ ( 17.70/2.86 var @ 17.70/2.86 (ap @ 17.70/2.86 Y0 @ Y1)))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((~) @ ( 17.70/2.86 var @ 17.70/2.86 (lam @ Y0))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term > $o]: 17.70/2.86 (((( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (( 17.70/2.86 (var @ 17.70/2.86 Y1) => 17.70/2.86 (Y0 @ Y1)))))) => 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : term]: 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y1) => 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y2) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 ap @ 17.70/2.86 Y1 @ Y2)))))))))))) => 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y1) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 lam @ Y1))))))) => 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (Y0 @ Y1))))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term > $o]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : subst]: 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y3 : term]: 17.70/2.86 (( 17.70/2.86 (var @ 17.70/2.86 Y3) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y3 @ Y2))))))) => 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y1) => 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y3 : term]: 17.70/2.86 (( 17.70/2.86 (var @ 17.70/2.86 Y3) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y3 @ 17.70/2.86 ( 17.70/2.86 push @ 17.70/2.86 Y1 @ Y2))))))))))))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term > $o]: 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : term]: 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y1) => 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y2) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 ap @ 17.70/2.86 Y1 @ Y2)))))))))))) => 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : term]: 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y2) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y1 @ 17.70/2.86 ( 17.70/2.86 push @ 17.70/2.86 Y2 @ id)))))))) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 lam @ Y1))))))) => 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : subst]: 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y3 : term]: 17.70/2.86 (( 17.70/2.86 (var @ 17.70/2.86 Y3) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y3 @ Y2))))))) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y1 @ Y2))))))))))))))))) => 17.70/2.86 (((((!!) @ ( 17.70/2.86 ^[Y0 : term > $o]: 17.70/2.86 (((((!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (( 17.70/2.86 (var @ 17.70/2.86 Y1) => 17.70/2.86 (Y0 @ Y1)))))) => 17.70/2.86 (((( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : term]: 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y1) => 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y2) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 ap @ 17.70/2.86 Y1 @ Y2)))))))))))) => 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : term]: 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y2) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y1 @ 17.70/2.86 ( 17.70/2.86 push @ 17.70/2.86 Y2 @ id)))))))) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 lam @ Y1))))))) => 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (Y0 @ Y1))))))))))))) => 17.70/2.86 (((((((!!) @ ( 17.70/2.86 ^[Y0 : subst]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y1 : subst]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : subst]: 17.70/2.86 (( 17.70/2.86 (comp @ 17.70/2.86 ( 17.70/2.86 comp @ 17.70/2.86 Y0 @ Y1) @ 17.70/2.86 Y2) = 17.70/2.86 (comp @ 17.70/2.86 Y0 @ 17.70/2.86 ( 17.70/2.86 comp @ 17.70/2.86 Y1 @ Y2))))))))))))) & 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y0 : subst]: 17.70/2.86 (( 17.70/2.86 (comp @ 17.70/2.86 id @ 17.70/2.86 Y0) = 17.70/2.86 (Y0)))))) & 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y0 : subst]: 17.70/2.86 (( 17.70/2.86 (comp @ 17.70/2.86 Y0 @ 17.70/2.86 id) = 17.70/2.86 (Y0)))))))) => 17.70/2.86 (((((((!!) @ ( 17.70/2.86 ^[Y0 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y1 : subst]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : subst]: 17.70/2.86 (( 17.70/2.86 (sub @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y0 @ Y1) @ 17.70/2.86 Y2) = 17.70/2.86 (sub @ 17.70/2.86 Y0 @ 17.70/2.86 ( 17.70/2.86 comp @ 17.70/2.86 Y1 @ Y2))))))))))))) & 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y0 : term]: 17.70/2.86 (( 17.70/2.86 (sub @ 17.70/2.86 Y0 @ 17.70/2.86 id) = 17.70/2.86 (Y0)))))))) => 17.70/2.86 (((((!!) @ ( 17.70/2.86 ^[Y0 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y3 : term]: 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (ap @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y0 @ id) @ 17.70/2.86 Y2) = 17.70/2.86 (ap @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y1 @ id) @ 17.70/2.86 Y3))) => 17.70/2.86 (( 17.70/2.86 (Y0) = 17.70/2.86 (Y1))))))))))))))))) => 17.70/2.86 (((( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y0 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y3 : term]: 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (ap @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y0 @ id) @ 17.70/2.86 Y2) = 17.70/2.86 (ap @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y1 @ id) @ 17.70/2.86 Y3))) => 17.70/2.86 (( 17.70/2.86 (Y2) = 17.70/2.86 (Y3))))))))))))))))) => 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y0 : 17.70/2.86 subst > 17.70/2.86 term > term]: 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y1 : subst]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y3 : subst]: 17.70/2.86 (( 17.70/2.86 (sub @ 17.70/2.86 ( 17.70/2.86 Y0 @ 17.70/2.86 Y1 @ Y2) @ 17.70/2.86 Y3) = 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 comp @ 17.70/2.86 Y1 @ Y3) @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y2 @ Y3))))))))))))) => 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y1 : 17.70/2.86 subst > 17.70/2.86 term > term]: 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : subst]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y3 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y4 : subst]: 17.70/2.86 (( 17.70/2.86 (sub @ 17.70/2.86 ( 17.70/2.86 Y1 @ 17.70/2.86 Y2 @ Y3) @ 17.70/2.86 Y4) = 17.70/2.86 (Y1 @ 17.70/2.86 ( 17.70/2.86 comp @ 17.70/2.86 Y2 @ Y4) @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y3 @ Y4))))))))))))) => 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (lam @ 17.70/2.86 ( 17.70/2.86 Y0 @ 17.70/2.86 sh @ one)) = 17.70/2.86 (lam @ 17.70/2.86 ( 17.70/2.86 Y1 @ 17.70/2.86 sh @ one)))) => 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : subst]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y3 : term]: 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y2 @ 17.70/2.86 Y3) = 17.70/2.86 (Y1 @ 17.70/2.86 Y2 @ Y3)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), 17.70/2.86 inference('cnf', [status(esa)], [zf_stmt_1])). 17.70/2.86 thf(zip_derived_cl4, plain, 17.70/2.86 (~ (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ (^[Y1 : subst]: 17.70/2.86 (((sub @ one @ (push @ Y0 @ Y1)) = (Y0))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: (((sub @ Y0 @ id) = (Y0)))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ (^[Y1 : subst]: 17.70/2.86 (((sub @ (lam @ Y0) @ Y1) = (lam @ 17.70/2.86 (sub @ Y0 @ 17.70/2.86 (push @ one @ (comp @ Y1 @ sh)))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ (^[Y1 : subst]: 17.70/2.86 (((!!) @ (^[Y2 : subst]: 17.70/2.86 (((sub @ 17.70/2.86 (sub @ Y0 @ Y1) @ Y2) = 17.70/2.86 (sub @ Y0 @ 17.70/2.86 (comp @ Y1 @ Y2))))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : subst]: (((comp @ id @ Y0) = (Y0)))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ (^[Y1 : subst]: 17.70/2.86 (((comp @ sh @ (push @ Y0 @ Y1)) = 17.70/2.86 (Y1))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : subst]: 17.70/2.86 (((!!) @ (^[Y1 : subst]: 17.70/2.86 (((!!) @ (^[Y2 : subst]: 17.70/2.86 (((comp @ 17.70/2.86 (comp @ Y0 @ Y1) @ 17.70/2.86 Y2) = (comp @ 17.70/2.86 Y0 @ 17.70/2.86 (comp @ Y1 @ Y2))))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ (^[Y1 : subst]: 17.70/2.86 (((!!) @ (^[Y2 : subst]: 17.70/2.86 (((comp @ 17.70/2.86 (push @ Y0 @ Y1) @ 17.70/2.86 Y2) = (push @ 17.70/2.86 (sub @ Y0 @ Y2) @ 17.70/2.86 (comp @ Y1 @ Y2))))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : subst]: (((comp @ Y0 @ id) = (Y0)))))) => 17.70/2.86 (((((push @ one @ sh) = (id))) => 17.70/2.86 (((((!!) @ (^[Y0 : subst]: 17.70/2.86 (((push @ (sub @ one @ Y0) @ 17.70/2.86 (comp @ sh @ Y0)) = (Y0)))))) => 17.70/2.86 (((var @ one) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((var @ Y0) => (var @ 17.70/2.86 (sub @ Y0 @ sh))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term > $o]: 17.70/2.86 (((Y0 @ one) => 17.70/2.86 (((((!!) @ (^[Y1 : term]: 17.70/2.86 (((var @ 17.70/2.86 Y1) => 17.70/2.86 (((Y0 @ 17.70/2.86 Y1) => 17.70/2.86 (Y0 @ 17.70/2.86 (sub @ 17.70/2.86 Y1 @ sh))))))))) => 17.70/2.86 (((!!) @ (^[Y1 : term]: 17.70/2.86 (((var @ 17.70/2.86 Y1) => 17.70/2.86 (Y0 @ Y1))))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ (^[Y1 : term]: 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y2 : term]: 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y3 : term]: 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (ap @ 17.70/2.86 Y0 @ 17.70/2.86 Y2) = 17.70/2.86 (ap @ 17.70/2.86 Y1 @ Y3))) => 17.70/2.86 (( 17.70/2.86 (Y0) = 17.70/2.86 (Y1))))))))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ (^[Y1 : term]: 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y2 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y3 : term]: 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (ap @ 17.70/2.86 Y0 @ 17.70/2.86 Y2) = 17.70/2.86 (ap @ 17.70/2.86 Y1 @ Y3))) => 17.70/2.86 (( 17.70/2.86 (Y2) = 17.70/2.86 (Y3))))))))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ (^[Y1 : term]: 17.70/2.86 (((( 17.70/2.86 (lam @ 17.70/2.86 Y0) = 17.70/2.86 (lam @ Y1))) => 17.70/2.86 (( 17.70/2.86 (Y0) = 17.70/2.86 (Y1))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ (^[Y1 : term]: 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (sub @ 17.70/2.86 Y0 @ 17.70/2.86 sh) = 17.70/2.86 (sub @ 17.70/2.86 Y1 @ sh))) => 17.70/2.86 (( 17.70/2.86 (Y0) = 17.70/2.86 (Y1))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ (^[Y1 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : term]: 17.70/2.86 (( 17.70/2.86 (lam @ 17.70/2.86 Y0) != 17.70/2.86 (ap @ 17.70/2.86 Y1 @ Y2)))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (((~) @ ( 17.70/2.86 var @ 17.70/2.86 (ap @ Y0 @ 17.70/2.86 Y1)))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((~) @ ( 17.70/2.86 var @ 17.70/2.86 (lam @ Y0))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term > $o]: 17.70/2.86 (((((!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (( 17.70/2.86 (var @ 17.70/2.86 Y1) => 17.70/2.86 (Y0 @ Y1)))))) => 17.70/2.86 (((( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : term]: 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y1) => 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y2) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 ap @ 17.70/2.86 Y1 @ Y2)))))))))))) => 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y1) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 lam @ Y1))))))) => 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (Y0 @ Y1))))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term > $o]: 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : subst]: 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y3 : term]: 17.70/2.86 (( 17.70/2.86 (var @ 17.70/2.86 Y3) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y3 @ Y2))))))) => 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y1) => 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y3 : term]: 17.70/2.86 (( 17.70/2.86 (var @ 17.70/2.86 Y3) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y3 @ 17.70/2.86 ( 17.70/2.86 push @ 17.70/2.86 Y1 @ Y2))))))))))))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term > $o]: 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : term]: 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y1) => 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y2) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 ap @ 17.70/2.86 Y1 @ Y2)))))))))))) => 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : term]: 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y2) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y1 @ 17.70/2.86 ( 17.70/2.86 push @ 17.70/2.86 Y2 @ id)))))))) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 lam @ Y1))))))) => 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : subst]: 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y3 : term]: 17.70/2.86 (( 17.70/2.86 (var @ 17.70/2.86 Y3) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y3 @ Y2))))))) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y1 @ Y2))))))))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term > $o]: 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (( 17.70/2.86 (var @ 17.70/2.86 Y1) => 17.70/2.86 (Y0 @ Y1)))))) => 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : term]: 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y1) => 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y2) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 ap @ 17.70/2.86 Y1 @ Y2)))))))))))) => 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : term]: 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y2) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y1 @ 17.70/2.86 ( 17.70/2.86 push @ 17.70/2.86 Y2 @ id)))))))) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 lam @ Y1))))))) => 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (Y0 @ Y1))))))))))))) => 17.70/2.86 (((((((!!) @ ( 17.70/2.86 ^[Y0 : subst]: 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y1 : subst]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : subst]: 17.70/2.86 (( 17.70/2.86 (comp @ 17.70/2.86 ( 17.70/2.86 comp @ 17.70/2.86 Y0 @ Y1) @ 17.70/2.86 Y2) = 17.70/2.86 (comp @ 17.70/2.86 Y0 @ 17.70/2.86 ( 17.70/2.86 comp @ 17.70/2.86 Y1 @ Y2))))))))))))) & 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y0 : subst]: 17.70/2.86 (((comp @ 17.70/2.86 id @ Y0) = 17.70/2.86 (Y0)))))) & 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y0 : subst]: 17.70/2.86 (((comp @ 17.70/2.86 Y0 @ id) = 17.70/2.86 (Y0)))))))) => 17.70/2.86 (((((((!!) @ ( 17.70/2.86 ^[Y0 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y1 : subst]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : subst]: 17.70/2.86 (( 17.70/2.86 (sub @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y0 @ Y1) @ 17.70/2.86 Y2) = 17.70/2.86 (sub @ 17.70/2.86 Y0 @ 17.70/2.86 ( 17.70/2.86 comp @ 17.70/2.86 Y1 @ Y2))))))))))))) & 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y0 : term]: 17.70/2.86 (( 17.70/2.86 (sub @ 17.70/2.86 Y0 @ 17.70/2.86 id) = 17.70/2.86 (Y0)))))))) => 17.70/2.86 (((((!!) @ ( 17.70/2.86 ^[Y0 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y3 : term]: 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (ap @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y0 @ id) @ 17.70/2.86 Y2) = 17.70/2.86 (ap @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y1 @ id) @ 17.70/2.86 Y3))) => 17.70/2.86 (( 17.70/2.86 (Y0) = 17.70/2.86 (Y1))))))))))))))))) => 17.70/2.86 (((((!!) @ ( 17.70/2.86 ^[Y0 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y3 : term]: 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (ap @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y0 @ id) @ 17.70/2.86 Y2) = 17.70/2.86 (ap @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y1 @ id) @ 17.70/2.86 Y3))) => 17.70/2.86 (( 17.70/2.86 (Y2) = 17.70/2.86 (Y3))))))))))))))))) => 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y0 : 17.70/2.86 subst > 17.70/2.86 term > term]: 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y1 : subst]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y3 : subst]: 17.70/2.86 (( 17.70/2.86 (sub @ 17.70/2.86 ( 17.70/2.86 Y0 @ 17.70/2.86 Y1 @ Y2) @ 17.70/2.86 Y3) = 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 comp @ 17.70/2.86 Y1 @ Y3) @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y2 @ Y3))))))))))))) => 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y1 : 17.70/2.86 subst > 17.70/2.86 term > term]: 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : subst]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y3 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y4 : subst]: 17.70/2.86 (( 17.70/2.86 (sub @ 17.70/2.86 ( 17.70/2.86 Y1 @ 17.70/2.86 Y2 @ Y3) @ 17.70/2.86 Y4) = 17.70/2.86 (Y1 @ 17.70/2.86 ( 17.70/2.86 comp @ 17.70/2.86 Y2 @ Y4) @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y3 @ Y4))))))))))))) => 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (lam @ 17.70/2.86 ( 17.70/2.86 Y0 @ 17.70/2.86 sh @ one)) = 17.70/2.86 (lam @ 17.70/2.86 ( 17.70/2.86 Y1 @ 17.70/2.86 sh @ one)))) => 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : subst]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y3 : term]: 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y2 @ 17.70/2.86 Y3) = 17.70/2.86 (Y1 @ 17.70/2.86 Y2 @ Y3)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), 17.70/2.86 inference('lazy_cnf_imply', [status(thm)], [zip_derived_cl0])). 17.70/2.86 thf(zip_derived_cl7, plain, 17.70/2.86 (~ (((((!!) @ (^[Y0 : term]: (((sub @ Y0 @ id) = (Y0)))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ (^[Y1 : subst]: 17.70/2.86 (((sub @ (lam @ Y0) @ Y1) = (lam @ 17.70/2.86 (sub @ Y0 @ 17.70/2.86 (push @ one @ (comp @ Y1 @ sh)))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ (^[Y1 : subst]: 17.70/2.86 (((!!) @ (^[Y2 : subst]: 17.70/2.86 (((sub @ (sub @ Y0 @ Y1) @ 17.70/2.86 Y2) = (sub @ Y0 @ 17.70/2.86 (comp @ Y1 @ Y2))))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : subst]: (((comp @ id @ Y0) = (Y0)))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ (^[Y1 : subst]: 17.70/2.86 (((comp @ sh @ (push @ Y0 @ Y1)) = 17.70/2.86 (Y1))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : subst]: 17.70/2.86 (((!!) @ (^[Y1 : subst]: 17.70/2.86 (((!!) @ (^[Y2 : subst]: 17.70/2.86 (((comp @ 17.70/2.86 (comp @ Y0 @ Y1) @ 17.70/2.86 Y2) = (comp @ Y0 @ 17.70/2.86 (comp @ Y1 @ Y2))))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ (^[Y1 : subst]: 17.70/2.86 (((!!) @ (^[Y2 : subst]: 17.70/2.86 (((comp @ 17.70/2.86 (push @ Y0 @ Y1) @ 17.70/2.86 Y2) = (push @ 17.70/2.86 (sub @ Y0 @ Y2) @ 17.70/2.86 (comp @ Y1 @ Y2))))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : subst]: (((comp @ Y0 @ id) = (Y0)))))) => 17.70/2.86 (((((push @ one @ sh) = (id))) => 17.70/2.86 (((((!!) @ (^[Y0 : subst]: 17.70/2.86 (((push @ (sub @ one @ Y0) @ 17.70/2.86 (comp @ sh @ Y0)) = (Y0)))))) => 17.70/2.86 (((var @ one) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((var @ Y0) => (var @ 17.70/2.86 (sub @ Y0 @ sh))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term > $o]: 17.70/2.86 (((Y0 @ one) => 17.70/2.86 (((((!!) @ (^[Y1 : term]: 17.70/2.86 (((var @ Y1) => 17.70/2.86 (((Y0 @ Y1) => 17.70/2.86 (Y0 @ 17.70/2.86 (sub @ Y1 @ 17.70/2.86 sh))))))))) => 17.70/2.86 (((!!) @ (^[Y1 : term]: 17.70/2.86 (((var @ Y1) => 17.70/2.86 (Y0 @ Y1))))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ (^[Y1 : term]: 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y2 : term]: 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y3 : term]: 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (ap @ 17.70/2.86 Y0 @ 17.70/2.86 Y2) = 17.70/2.86 (ap @ 17.70/2.86 Y1 @ Y3))) => 17.70/2.86 (( 17.70/2.86 (Y0) = 17.70/2.86 (Y1))))))))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ (^[Y1 : term]: 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y2 : term]: 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y3 : term]: 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (ap @ 17.70/2.86 Y0 @ 17.70/2.86 Y2) = 17.70/2.86 (ap @ 17.70/2.86 Y1 @ Y3))) => 17.70/2.86 (( 17.70/2.86 (Y2) = 17.70/2.86 (Y3))))))))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ (^[Y1 : term]: 17.70/2.86 (((((lam @ 17.70/2.86 Y0) = 17.70/2.86 (lam @ Y1))) => 17.70/2.86 (((Y0) = 17.70/2.86 (Y1))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ (^[Y1 : term]: 17.70/2.86 (((( 17.70/2.86 (sub @ 17.70/2.86 Y0 @ sh) = 17.70/2.86 (sub @ 17.70/2.86 Y1 @ sh))) => 17.70/2.86 (( 17.70/2.86 (Y0) = 17.70/2.86 (Y1))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ (^[Y1 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : term]: 17.70/2.86 (( 17.70/2.86 (lam @ 17.70/2.86 Y0) != 17.70/2.86 (ap @ 17.70/2.86 Y1 @ Y2)))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ (^[Y1 : term]: 17.70/2.86 (( 17.70/2.86 (~) @ ( 17.70/2.86 var @ 17.70/2.86 ( 17.70/2.86 ap @ 17.70/2.86 Y0 @ Y1)))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((~) @ (var @ 17.70/2.86 ( 17.70/2.86 lam @ Y0))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term > $o]: 17.70/2.86 (((((!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (( 17.70/2.86 (var @ 17.70/2.86 Y1) => 17.70/2.86 (Y0 @ Y1)))))) => 17.70/2.86 (((((!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : term]: 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y1) => 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y2) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 ap @ 17.70/2.86 Y1 @ Y2)))))))))))) => 17.70/2.86 (((( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y1) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 lam @ Y1))))))) => 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (Y0 @ Y1))))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term > $o]: 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : subst]: 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y3 : term]: 17.70/2.86 (( 17.70/2.86 (var @ 17.70/2.86 Y3) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y3 @ Y2))))))) => 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y1) => 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y3 : term]: 17.70/2.86 (( 17.70/2.86 (var @ 17.70/2.86 Y3) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y3 @ 17.70/2.86 ( 17.70/2.86 push @ 17.70/2.86 Y1 @ Y2))))))))))))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term > $o]: 17.70/2.86 (((( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : term]: 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y1) => 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y2) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 ap @ 17.70/2.86 Y1 @ Y2)))))))))))) => 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : term]: 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y2) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y1 @ 17.70/2.86 ( 17.70/2.86 push @ 17.70/2.86 Y2 @ id)))))))) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 lam @ Y1))))))) => 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : subst]: 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y3 : term]: 17.70/2.86 (( 17.70/2.86 (var @ 17.70/2.86 Y3) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y3 @ Y2))))))) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y1 @ Y2))))))))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term > $o]: 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (( 17.70/2.86 (var @ 17.70/2.86 Y1) => 17.70/2.86 (Y0 @ Y1)))))) => 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : term]: 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y1) => 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y2) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 ap @ 17.70/2.86 Y1 @ Y2)))))))))))) => 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : term]: 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y2) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y1 @ 17.70/2.86 ( 17.70/2.86 push @ 17.70/2.86 Y2 @ id)))))))) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 lam @ Y1))))))) => 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (Y0 @ Y1))))))))))))) => 17.70/2.86 (((((((!!) @ ( 17.70/2.86 ^[Y0 : subst]: 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y1 : subst]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : subst]: 17.70/2.86 (( 17.70/2.86 (comp @ 17.70/2.86 ( 17.70/2.86 comp @ 17.70/2.86 Y0 @ Y1) @ 17.70/2.86 Y2) = 17.70/2.86 (comp @ 17.70/2.86 Y0 @ 17.70/2.86 ( 17.70/2.86 comp @ 17.70/2.86 Y1 @ Y2))))))))))))) & 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y0 : subst]: 17.70/2.86 (((comp @ 17.70/2.86 id @ Y0) = 17.70/2.86 (Y0)))))) & 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y0 : subst]: 17.70/2.86 (((comp @ 17.70/2.86 Y0 @ id) = 17.70/2.86 (Y0)))))))) => 17.70/2.86 (((((((!!) @ ( 17.70/2.86 ^[Y0 : term]: 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y1 : subst]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : subst]: 17.70/2.86 (( 17.70/2.86 (sub @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y0 @ Y1) @ 17.70/2.86 Y2) = 17.70/2.86 (sub @ 17.70/2.86 Y0 @ 17.70/2.86 ( 17.70/2.86 comp @ 17.70/2.86 Y1 @ Y2))))))))))))) & 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y0 : term]: 17.70/2.86 (((sub @ 17.70/2.86 Y0 @ id) = 17.70/2.86 (Y0)))))))) => 17.70/2.86 (((((!!) @ ( 17.70/2.86 ^[Y0 : term]: 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y3 : term]: 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (ap @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y0 @ id) @ 17.70/2.86 Y2) = 17.70/2.86 (ap @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y1 @ id) @ 17.70/2.86 Y3))) => 17.70/2.86 (( 17.70/2.86 (Y0) = 17.70/2.86 (Y1))))))))))))))))) => 17.70/2.86 (((((!!) @ ( 17.70/2.86 ^[Y0 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y3 : term]: 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (ap @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y0 @ id) @ 17.70/2.86 Y2) = 17.70/2.86 (ap @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y1 @ id) @ 17.70/2.86 Y3))) => 17.70/2.86 (( 17.70/2.86 (Y2) = 17.70/2.86 (Y3))))))))))))))))) => 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y0 : 17.70/2.86 subst > 17.70/2.86 term > term]: 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y1 : subst]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y3 : subst]: 17.70/2.86 (( 17.70/2.86 (sub @ 17.70/2.86 ( 17.70/2.86 Y0 @ 17.70/2.86 Y1 @ Y2) @ 17.70/2.86 Y3) = 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 comp @ 17.70/2.86 Y1 @ Y3) @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y2 @ Y3))))))))))))) => 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y1 : 17.70/2.86 subst > 17.70/2.86 term > term]: 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : subst]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y3 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y4 : subst]: 17.70/2.86 (( 17.70/2.86 (sub @ 17.70/2.86 ( 17.70/2.86 Y1 @ 17.70/2.86 Y2 @ Y3) @ 17.70/2.86 Y4) = 17.70/2.86 (Y1 @ 17.70/2.86 ( 17.70/2.86 comp @ 17.70/2.86 Y2 @ Y4) @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y3 @ Y4))))))))))))) => 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (lam @ 17.70/2.86 ( 17.70/2.86 Y0 @ 17.70/2.86 sh @ one)) = 17.70/2.86 (lam @ 17.70/2.86 ( 17.70/2.86 Y1 @ 17.70/2.86 sh @ one)))) => 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : subst]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y3 : term]: 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y2 @ 17.70/2.86 Y3) = 17.70/2.86 (Y1 @ 17.70/2.86 Y2 @ Y3)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), 17.70/2.86 inference('lazy_cnf_imply', [status(thm)], [zip_derived_cl4])). 17.70/2.86 thf(zip_derived_cl11, plain, 17.70/2.86 (~ (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ (^[Y1 : subst]: 17.70/2.86 (((sub @ (lam @ Y0) @ Y1) = (lam @ 17.70/2.86 (sub @ Y0 @ 17.70/2.86 (push @ one @ (comp @ Y1 @ sh)))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ (^[Y1 : subst]: 17.70/2.86 (((!!) @ (^[Y2 : subst]: 17.70/2.86 (((sub @ (sub @ Y0 @ Y1) @ 17.70/2.86 Y2) = (sub @ Y0 @ 17.70/2.86 (comp @ Y1 @ Y2))))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : subst]: (((comp @ id @ Y0) = (Y0)))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ (^[Y1 : subst]: 17.70/2.86 (((comp @ sh @ (push @ Y0 @ Y1)) = 17.70/2.86 (Y1))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : subst]: 17.70/2.86 (((!!) @ (^[Y1 : subst]: 17.70/2.86 (((!!) @ (^[Y2 : subst]: 17.70/2.86 (((comp @ 17.70/2.86 (comp @ Y0 @ Y1) @ 17.70/2.86 Y2) = (comp @ Y0 @ 17.70/2.86 (comp @ Y1 @ Y2))))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ (^[Y1 : subst]: 17.70/2.86 (((!!) @ (^[Y2 : subst]: 17.70/2.86 (((comp @ 17.70/2.86 (push @ Y0 @ Y1) @ 17.70/2.86 Y2) = (push @ 17.70/2.86 (sub @ Y0 @ Y2) @ 17.70/2.86 (comp @ Y1 @ Y2))))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : subst]: (((comp @ Y0 @ id) = (Y0)))))) => 17.70/2.86 (((((push @ one @ sh) = (id))) => 17.70/2.86 (((((!!) @ (^[Y0 : subst]: 17.70/2.86 (((push @ (sub @ one @ Y0) @ 17.70/2.86 (comp @ sh @ Y0)) = (Y0)))))) => 17.70/2.86 (((var @ one) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((var @ Y0) => (var @ 17.70/2.86 (sub @ Y0 @ sh))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term > $o]: 17.70/2.86 (((Y0 @ one) => 17.70/2.86 (((((!!) @ (^[Y1 : term]: 17.70/2.86 (((var @ Y1) => 17.70/2.86 (((Y0 @ Y1) => 17.70/2.86 (Y0 @ 17.70/2.86 (sub @ Y1 @ sh))))))))) => 17.70/2.86 (((!!) @ (^[Y1 : term]: 17.70/2.86 (((var @ Y1) => 17.70/2.86 (Y0 @ Y1))))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ (^[Y1 : term]: 17.70/2.86 (((!!) @ (^[Y2 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y3 : term]: 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (ap @ 17.70/2.86 Y0 @ 17.70/2.86 Y2) = 17.70/2.86 (ap @ 17.70/2.86 Y1 @ Y3))) => 17.70/2.86 (( 17.70/2.86 (Y0) = 17.70/2.86 (Y1))))))))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ (^[Y1 : term]: 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y2 : term]: 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y3 : term]: 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (ap @ 17.70/2.86 Y0 @ 17.70/2.86 Y2) = 17.70/2.86 (ap @ 17.70/2.86 Y1 @ Y3))) => 17.70/2.86 (( 17.70/2.86 (Y2) = 17.70/2.86 (Y3))))))))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ (^[Y1 : term]: 17.70/2.86 (((((lam @ Y0) = 17.70/2.86 (lam @ Y1))) => 17.70/2.86 (((Y0) = (Y1))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ (^[Y1 : term]: 17.70/2.86 (((((sub @ 17.70/2.86 Y0 @ sh) = 17.70/2.86 (sub @ 17.70/2.86 Y1 @ sh))) => 17.70/2.86 (((Y0) = 17.70/2.86 (Y1))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ (^[Y1 : term]: 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y2 : term]: 17.70/2.86 (( 17.70/2.86 (lam @ 17.70/2.86 Y0) != 17.70/2.86 (ap @ 17.70/2.86 Y1 @ Y2)))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ (^[Y1 : term]: 17.70/2.86 (( 17.70/2.86 (~) @ ( 17.70/2.86 var @ 17.70/2.86 ( 17.70/2.86 ap @ 17.70/2.86 Y0 @ Y1)))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((~) @ (var @ 17.70/2.86 (lam @ Y0))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term > $o]: 17.70/2.86 (((((!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (((var @ 17.70/2.86 Y1) => 17.70/2.86 (Y0 @ Y1)))))) => 17.70/2.86 (((((!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : term]: 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y1) => 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y2) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 ap @ 17.70/2.86 Y1 @ Y2)))))))))))) => 17.70/2.86 (((((!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y1) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 lam @ Y1))))))) => 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (Y0 @ Y1))))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term > $o]: 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y2 : subst]: 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y3 : term]: 17.70/2.86 (( 17.70/2.86 (var @ 17.70/2.86 Y3) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y3 @ Y2))))))) => 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y1) => 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y3 : term]: 17.70/2.86 (( 17.70/2.86 (var @ 17.70/2.86 Y3) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y3 @ 17.70/2.86 ( 17.70/2.86 push @ 17.70/2.86 Y1 @ Y2))))))))))))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term > $o]: 17.70/2.86 (((((!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : term]: 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y1) => 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y2) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 ap @ 17.70/2.86 Y1 @ Y2)))))))))))) => 17.70/2.86 (((( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : term]: 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y2) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y1 @ 17.70/2.86 ( 17.70/2.86 push @ 17.70/2.86 Y2 @ id)))))))) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 lam @ Y1))))))) => 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : subst]: 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y3 : term]: 17.70/2.86 (( 17.70/2.86 (var @ 17.70/2.86 Y3) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y3 @ Y2))))))) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y1 @ Y2))))))))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term > $o]: 17.70/2.86 (((( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (( 17.70/2.86 (var @ 17.70/2.86 Y1) => 17.70/2.86 (Y0 @ Y1)))))) => 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : term]: 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y1) => 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y2) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 ap @ 17.70/2.86 Y1 @ Y2)))))))))))) => 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : term]: 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y2) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y1 @ 17.70/2.86 ( 17.70/2.86 push @ 17.70/2.86 Y2 @ id)))))))) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 lam @ Y1))))))) => 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (Y0 @ Y1))))))))))))) => 17.70/2.86 (((((((!!) @ (^[Y0 : subst]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y1 : subst]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : subst]: 17.70/2.86 (( 17.70/2.86 (comp @ 17.70/2.86 ( 17.70/2.86 comp @ 17.70/2.86 Y0 @ Y1) @ 17.70/2.86 Y2) = 17.70/2.86 (comp @ 17.70/2.86 Y0 @ 17.70/2.86 ( 17.70/2.86 comp @ 17.70/2.86 Y1 @ Y2))))))))))))) & 17.70/2.86 (((!!) @ (^[Y0 : subst]: 17.70/2.86 (( 17.70/2.86 (comp @ 17.70/2.86 id @ 17.70/2.86 Y0) = 17.70/2.86 (Y0)))))) & 17.70/2.86 (((!!) @ (^[Y0 : subst]: 17.70/2.86 (( 17.70/2.86 (comp @ 17.70/2.86 Y0 @ 17.70/2.86 id) = 17.70/2.86 (Y0)))))))) => 17.70/2.86 (((((((!!) @ ( 17.70/2.86 ^[Y0 : term]: 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y1 : subst]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : subst]: 17.70/2.86 (( 17.70/2.86 (sub @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y0 @ Y1) @ 17.70/2.86 Y2) = 17.70/2.86 (sub @ 17.70/2.86 Y0 @ 17.70/2.86 ( 17.70/2.86 comp @ 17.70/2.86 Y1 @ Y2))))))))))))) & 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y0 : term]: 17.70/2.86 (((sub @ Y0 @ 17.70/2.86 id) = (Y0)))))))) => 17.70/2.86 (((((!!) @ ( 17.70/2.86 ^[Y0 : term]: 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y3 : term]: 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (ap @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y0 @ id) @ 17.70/2.86 Y2) = 17.70/2.86 (ap @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y1 @ id) @ 17.70/2.86 Y3))) => 17.70/2.86 (( 17.70/2.86 (Y0) = 17.70/2.86 (Y1))))))))))))))))) => 17.70/2.86 (((((!!) @ ( 17.70/2.86 ^[Y0 : term]: 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y3 : term]: 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (ap @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y0 @ id) @ 17.70/2.86 Y2) = 17.70/2.86 (ap @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y1 @ id) @ 17.70/2.86 Y3))) => 17.70/2.86 (( 17.70/2.86 (Y2) = 17.70/2.86 (Y3))))))))))))))))) => 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y0 : 17.70/2.86 subst > term > term]: 17.70/2.86 (((( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y1 : subst]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y3 : subst]: 17.70/2.86 (( 17.70/2.86 (sub @ 17.70/2.86 ( 17.70/2.86 Y0 @ 17.70/2.86 Y1 @ Y2) @ 17.70/2.86 Y3) = 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 comp @ 17.70/2.86 Y1 @ Y3) @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y2 @ Y3))))))))))))) => 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y1 : 17.70/2.86 subst > 17.70/2.86 term > term]: 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : subst]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y3 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y4 : subst]: 17.70/2.86 (( 17.70/2.86 (sub @ 17.70/2.86 ( 17.70/2.86 Y1 @ 17.70/2.86 Y2 @ Y3) @ 17.70/2.86 Y4) = 17.70/2.86 (Y1 @ 17.70/2.86 ( 17.70/2.86 comp @ 17.70/2.86 Y2 @ Y4) @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y3 @ Y4))))))))))))) => 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (lam @ 17.70/2.86 ( 17.70/2.86 Y0 @ 17.70/2.86 sh @ one)) = 17.70/2.86 (lam @ 17.70/2.86 ( 17.70/2.86 Y1 @ 17.70/2.86 sh @ one)))) => 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : subst]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y3 : term]: 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y2 @ 17.70/2.86 Y3) = 17.70/2.86 (Y1 @ 17.70/2.86 Y2 @ Y3)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), 17.70/2.86 inference('lazy_cnf_imply', [status(thm)], [zip_derived_cl7])). 17.70/2.86 thf(zip_derived_cl16, plain, 17.70/2.86 (~ (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ (^[Y1 : subst]: 17.70/2.86 (((!!) @ (^[Y2 : subst]: 17.70/2.86 (((sub @ (sub @ Y0 @ Y1) @ Y2) = 17.70/2.86 (sub @ Y0 @ (comp @ Y1 @ Y2))))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : subst]: (((comp @ id @ Y0) = (Y0)))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ (^[Y1 : subst]: 17.70/2.86 (((comp @ sh @ (push @ Y0 @ Y1)) = (Y1))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : subst]: 17.70/2.86 (((!!) @ (^[Y1 : subst]: 17.70/2.86 (((!!) @ (^[Y2 : subst]: 17.70/2.86 (((comp @ 17.70/2.86 (comp @ Y0 @ Y1) @ Y2) = 17.70/2.86 (comp @ Y0 @ 17.70/2.86 (comp @ Y1 @ Y2))))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ (^[Y1 : subst]: 17.70/2.86 (((!!) @ (^[Y2 : subst]: 17.70/2.86 (((comp @ 17.70/2.86 (push @ Y0 @ Y1) @ 17.70/2.86 Y2) = (push @ 17.70/2.86 (sub @ Y0 @ Y2) @ 17.70/2.86 (comp @ Y1 @ Y2))))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : subst]: (((comp @ Y0 @ id) = (Y0)))))) => 17.70/2.86 (((((push @ one @ sh) = (id))) => 17.70/2.86 (((((!!) @ (^[Y0 : subst]: 17.70/2.86 (((push @ (sub @ one @ Y0) @ 17.70/2.86 (comp @ sh @ Y0)) = (Y0)))))) => 17.70/2.86 (((var @ one) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((var @ Y0) => (var @ 17.70/2.86 (sub @ Y0 @ sh))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term > $o]: 17.70/2.86 (((Y0 @ one) => 17.70/2.86 (((((!!) @ (^[Y1 : term]: 17.70/2.86 (((var @ Y1) => 17.70/2.86 (((Y0 @ Y1) => 17.70/2.86 (Y0 @ 17.70/2.86 (sub @ Y1 @ sh))))))))) => 17.70/2.86 (((!!) @ (^[Y1 : term]: 17.70/2.86 (((var @ Y1) => 17.70/2.86 (Y0 @ Y1))))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ (^[Y1 : term]: 17.70/2.86 (((!!) @ (^[Y2 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y3 : term]: 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (ap @ 17.70/2.86 Y0 @ 17.70/2.86 Y2) = 17.70/2.86 (ap @ 17.70/2.86 Y1 @ Y3))) => 17.70/2.86 (( 17.70/2.86 (Y0) = 17.70/2.86 (Y1))))))))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ (^[Y1 : term]: 17.70/2.86 (((!!) @ (^[Y2 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y3 : term]: 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (ap @ 17.70/2.86 Y0 @ 17.70/2.86 Y2) = 17.70/2.86 (ap @ 17.70/2.86 Y1 @ Y3))) => 17.70/2.86 (( 17.70/2.86 (Y2) = 17.70/2.86 (Y3))))))))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ (^[Y1 : term]: 17.70/2.86 (((((lam @ Y0) = 17.70/2.86 (lam @ Y1))) => 17.70/2.86 (((Y0) = (Y1))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ (^[Y1 : term]: 17.70/2.86 (((((sub @ Y0 @ 17.70/2.86 sh) = 17.70/2.86 (sub @ Y1 @ 17.70/2.86 sh))) => 17.70/2.86 (((Y0) = (Y1))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ (^[Y1 : term]: 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y2 : term]: 17.70/2.86 (( 17.70/2.86 (lam @ 17.70/2.86 Y0) != 17.70/2.86 (ap @ 17.70/2.86 Y1 @ Y2)))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ (^[Y1 : term]: 17.70/2.86 (((~) @ ( 17.70/2.86 var @ 17.70/2.86 (ap @ 17.70/2.86 Y0 @ Y1)))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((~) @ (var @ 17.70/2.86 (lam @ Y0))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term > $o]: 17.70/2.86 (((((!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (((var @ 17.70/2.86 Y1) => 17.70/2.86 (Y0 @ Y1)))))) => 17.70/2.86 (((((!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y2 : term]: 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y1) => 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y2) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 ap @ 17.70/2.86 Y1 @ Y2)))))))))))) => 17.70/2.86 (((((!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y1) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 lam @ Y1))))))) => 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (Y0 @ Y1))))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term > $o]: 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y2 : subst]: 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y3 : term]: 17.70/2.86 (( 17.70/2.86 (var @ 17.70/2.86 Y3) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y3 @ Y2))))))) => 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y1) => 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y3 : term]: 17.70/2.86 (( 17.70/2.86 (var @ 17.70/2.86 Y3) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y3 @ 17.70/2.86 ( 17.70/2.86 push @ 17.70/2.86 Y1 @ Y2))))))))))))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term > $o]: 17.70/2.86 (((((!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : term]: 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y1) => 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y2) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 ap @ 17.70/2.86 Y1 @ Y2)))))))))))) => 17.70/2.86 (((((!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : term]: 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y2) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y1 @ 17.70/2.86 ( 17.70/2.86 push @ 17.70/2.86 Y2 @ id)))))))) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 lam @ Y1))))))) => 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : subst]: 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y3 : term]: 17.70/2.86 (( 17.70/2.86 (var @ 17.70/2.86 Y3) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y3 @ Y2))))))) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y1 @ Y2))))))))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term > $o]: 17.70/2.86 (((((!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (( 17.70/2.86 (var @ 17.70/2.86 Y1) => 17.70/2.86 (Y0 @ Y1)))))) => 17.70/2.86 (((( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : term]: 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y1) => 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y2) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 ap @ 17.70/2.86 Y1 @ Y2)))))))))))) => 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : term]: 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y2) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y1 @ 17.70/2.86 ( 17.70/2.86 push @ 17.70/2.86 Y2 @ id)))))))) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 lam @ Y1))))))) => 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (Y0 @ Y1))))))))))))) => 17.70/2.86 (((((((!!) @ (^[Y0 : subst]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y1 : subst]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : subst]: 17.70/2.86 (( 17.70/2.86 (comp @ 17.70/2.86 ( 17.70/2.86 comp @ 17.70/2.86 Y0 @ Y1) @ 17.70/2.86 Y2) = 17.70/2.86 (comp @ 17.70/2.86 Y0 @ 17.70/2.86 ( 17.70/2.86 comp @ 17.70/2.86 Y1 @ Y2))))))))))))) & 17.70/2.86 (((!!) @ (^[Y0 : subst]: 17.70/2.86 (( 17.70/2.86 (comp @ 17.70/2.86 id @ 17.70/2.86 Y0) = 17.70/2.86 (Y0)))))) & 17.70/2.86 (((!!) @ (^[Y0 : subst]: 17.70/2.86 (( 17.70/2.86 (comp @ 17.70/2.86 Y0 @ 17.70/2.86 id) = 17.70/2.86 (Y0)))))))) => 17.70/2.86 (((((((!!) @ (^[Y0 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y1 : subst]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : subst]: 17.70/2.86 (( 17.70/2.86 (sub @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y0 @ Y1) @ 17.70/2.86 Y2) = 17.70/2.86 (sub @ 17.70/2.86 Y0 @ 17.70/2.86 ( 17.70/2.86 comp @ 17.70/2.86 Y1 @ Y2))))))))))))) & 17.70/2.86 (((!!) @ (^[Y0 : term]: 17.70/2.86 (( 17.70/2.86 (sub @ 17.70/2.86 Y0 @ 17.70/2.86 id) = 17.70/2.86 (Y0)))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y3 : term]: 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (ap @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y0 @ id) @ 17.70/2.86 Y2) = 17.70/2.86 (ap @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y1 @ id) @ 17.70/2.86 Y3))) => 17.70/2.86 (( 17.70/2.86 (Y0) = 17.70/2.86 (Y1))))))))))))))))) => 17.70/2.86 (((((!!) @ ( 17.70/2.86 ^[Y0 : term]: 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y3 : term]: 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (ap @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y0 @ id) @ 17.70/2.86 Y2) = 17.70/2.86 (ap @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y1 @ id) @ 17.70/2.86 Y3))) => 17.70/2.86 (( 17.70/2.86 (Y2) = 17.70/2.86 (Y3))))))))))))))))) => 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y0 : subst > 17.70/2.86 term > term]: 17.70/2.86 (((((!!) @ ( 17.70/2.86 ^[Y1 : subst]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y3 : subst]: 17.70/2.86 (( 17.70/2.86 (sub @ 17.70/2.86 ( 17.70/2.86 Y0 @ 17.70/2.86 Y1 @ Y2) @ 17.70/2.86 Y3) = 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 comp @ 17.70/2.86 Y1 @ Y3) @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y2 @ Y3))))))))))))) => 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y1 : 17.70/2.86 subst > 17.70/2.86 term > term]: 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : subst]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y3 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y4 : subst]: 17.70/2.86 (( 17.70/2.86 (sub @ 17.70/2.86 ( 17.70/2.86 Y1 @ 17.70/2.86 Y2 @ Y3) @ 17.70/2.86 Y4) = 17.70/2.86 (Y1 @ 17.70/2.86 ( 17.70/2.86 comp @ 17.70/2.86 Y2 @ Y4) @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y3 @ Y4))))))))))))) => 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (lam @ 17.70/2.86 ( 17.70/2.86 Y0 @ 17.70/2.86 sh @ one)) = 17.70/2.86 (lam @ 17.70/2.86 ( 17.70/2.86 Y1 @ 17.70/2.86 sh @ one)))) => 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : subst]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y3 : term]: 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y2 @ 17.70/2.86 Y3) = 17.70/2.86 (Y1 @ 17.70/2.86 Y2 @ Y3)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), 17.70/2.86 inference('lazy_cnf_imply', [status(thm)], [zip_derived_cl11])). 17.70/2.86 thf(zip_derived_cl22, plain, 17.70/2.86 (~ (((((!!) @ (^[Y0 : subst]: (((comp @ id @ Y0) = (Y0)))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ (^[Y1 : subst]: 17.70/2.86 (((comp @ sh @ (push @ Y0 @ Y1)) = (Y1))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : subst]: 17.70/2.86 (((!!) @ (^[Y1 : subst]: 17.70/2.86 (((!!) @ (^[Y2 : subst]: 17.70/2.86 (((comp @ 17.70/2.86 (comp @ Y0 @ Y1) @ Y2) = 17.70/2.86 (comp @ Y0 @ 17.70/2.86 (comp @ Y1 @ Y2))))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ (^[Y1 : subst]: 17.70/2.86 (((!!) @ (^[Y2 : subst]: 17.70/2.86 (((comp @ 17.70/2.86 (push @ Y0 @ Y1) @ Y2) = 17.70/2.86 (push @ 17.70/2.86 (sub @ Y0 @ Y2) @ 17.70/2.86 (comp @ Y1 @ Y2))))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : subst]: (((comp @ Y0 @ id) = (Y0)))))) => 17.70/2.86 (((((push @ one @ sh) = (id))) => 17.70/2.86 (((((!!) @ (^[Y0 : subst]: 17.70/2.86 (((push @ (sub @ one @ Y0) @ 17.70/2.86 (comp @ sh @ Y0)) = (Y0)))))) => 17.70/2.86 (((var @ one) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((var @ Y0) => (var @ (sub @ Y0 @ sh))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term > $o]: 17.70/2.86 (((Y0 @ one) => 17.70/2.86 (((((!!) @ (^[Y1 : term]: 17.70/2.86 (((var @ Y1) => 17.70/2.86 (((Y0 @ Y1) => 17.70/2.86 (Y0 @ 17.70/2.86 (sub @ Y1 @ sh))))))))) => 17.70/2.86 (((!!) @ (^[Y1 : term]: 17.70/2.86 (((var @ Y1) => (Y0 @ 17.70/2.86 Y1))))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ (^[Y1 : term]: 17.70/2.86 (((!!) @ (^[Y2 : term]: 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y3 : term]: 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (ap @ 17.70/2.86 Y0 @ 17.70/2.86 Y2) = 17.70/2.86 (ap @ 17.70/2.86 Y1 @ Y3))) => 17.70/2.86 (( 17.70/2.86 (Y0) = 17.70/2.86 (Y1))))))))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ (^[Y1 : term]: 17.70/2.86 (((!!) @ (^[Y2 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y3 : term]: 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (ap @ 17.70/2.86 Y0 @ 17.70/2.86 Y2) = 17.70/2.86 (ap @ 17.70/2.86 Y1 @ Y3))) => 17.70/2.86 (( 17.70/2.86 (Y2) = 17.70/2.86 (Y3))))))))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ (^[Y1 : term]: 17.70/2.86 (((((lam @ Y0) = 17.70/2.86 (lam @ Y1))) => 17.70/2.86 (((Y0) = (Y1))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ (^[Y1 : term]: 17.70/2.86 (((((sub @ Y0 @ 17.70/2.86 sh) = (sub @ 17.70/2.86 Y1 @ sh))) => 17.70/2.86 (((Y0) = (Y1))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ (^[Y1 : term]: 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y2 : term]: 17.70/2.86 (((lam @ 17.70/2.86 Y0) != 17.70/2.86 (ap @ 17.70/2.86 Y1 @ Y2)))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ (^[Y1 : term]: 17.70/2.86 (((~) @ ( 17.70/2.86 var @ 17.70/2.86 (ap @ Y0 @ 17.70/2.86 Y1)))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((~) @ (var @ 17.70/2.86 (lam @ Y0))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term > $o]: 17.70/2.86 (((((!!) @ (^[Y1 : term]: 17.70/2.86 (( 17.70/2.86 (var @ 17.70/2.86 Y1) => 17.70/2.86 (Y0 @ Y1)))))) => 17.70/2.86 (((((!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y2 : term]: 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y1) => 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y2) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 ap @ 17.70/2.86 Y1 @ Y2)))))))))))) => 17.70/2.86 (((((!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (((Y0 @ 17.70/2.86 Y1) => 17.70/2.86 (Y0 @ 17.70/2.86 (lam @ Y1))))))) => 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (Y0 @ Y1))))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term > $o]: 17.70/2.86 (((!!) @ (^[Y1 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : subst]: 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y3 : term]: 17.70/2.86 (( 17.70/2.86 (var @ 17.70/2.86 Y3) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y3 @ Y2))))))) => 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y1) => 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y3 : term]: 17.70/2.86 (( 17.70/2.86 (var @ 17.70/2.86 Y3) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y3 @ 17.70/2.86 ( 17.70/2.86 push @ 17.70/2.86 Y1 @ Y2))))))))))))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term > $o]: 17.70/2.86 (((((!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y2 : term]: 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y1) => 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y2) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 ap @ 17.70/2.86 Y1 @ Y2)))))))))))) => 17.70/2.86 (((((!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : term]: 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y2) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y1 @ 17.70/2.86 ( 17.70/2.86 push @ 17.70/2.86 Y2 @ id)))))))) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 lam @ Y1))))))) => 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : subst]: 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y3 : term]: 17.70/2.86 (( 17.70/2.86 (var @ 17.70/2.86 Y3) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y3 @ Y2))))))) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y1 @ Y2))))))))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term > $o]: 17.70/2.86 (((((!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (( 17.70/2.86 (var @ 17.70/2.86 Y1) => 17.70/2.86 (Y0 @ Y1)))))) => 17.70/2.86 (((((!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : term]: 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y1) => 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y2) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 ap @ 17.70/2.86 Y1 @ Y2)))))))))))) => 17.70/2.86 (((( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : term]: 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y2) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y1 @ 17.70/2.86 ( 17.70/2.86 push @ 17.70/2.86 Y2 @ id)))))))) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 lam @ Y1))))))) => 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (Y0 @ Y1))))))))))))) => 17.70/2.86 (((((((!!) @ (^[Y0 : subst]: 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y1 : subst]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : subst]: 17.70/2.86 (( 17.70/2.86 (comp @ 17.70/2.86 ( 17.70/2.86 comp @ 17.70/2.86 Y0 @ Y1) @ 17.70/2.86 Y2) = 17.70/2.86 (comp @ 17.70/2.86 Y0 @ 17.70/2.86 ( 17.70/2.86 comp @ 17.70/2.86 Y1 @ Y2))))))))))))) & 17.70/2.86 (((!!) @ (^[Y0 : subst]: 17.70/2.86 (((comp @ 17.70/2.86 id @ Y0) = 17.70/2.86 (Y0)))))) & 17.70/2.86 (((!!) @ (^[Y0 : subst]: 17.70/2.86 (((comp @ 17.70/2.86 Y0 @ id) = 17.70/2.86 (Y0)))))))) => 17.70/2.86 (((((((!!) @ (^[Y0 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y1 : subst]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : subst]: 17.70/2.86 (( 17.70/2.86 (sub @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y0 @ Y1) @ 17.70/2.86 Y2) = 17.70/2.86 (sub @ 17.70/2.86 Y0 @ 17.70/2.86 ( 17.70/2.86 comp @ 17.70/2.86 Y1 @ Y2))))))))))))) & 17.70/2.86 (((!!) @ (^[Y0 : term]: 17.70/2.86 (( 17.70/2.86 (sub @ 17.70/2.86 Y0 @ 17.70/2.86 id) = 17.70/2.86 (Y0)))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y3 : term]: 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (ap @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y0 @ id) @ 17.70/2.86 Y2) = 17.70/2.86 (ap @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y1 @ id) @ 17.70/2.86 Y3))) => 17.70/2.86 (( 17.70/2.86 (Y0) = 17.70/2.86 (Y1))))))))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y3 : term]: 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (ap @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y0 @ id) @ 17.70/2.86 Y2) = 17.70/2.86 (ap @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y1 @ id) @ 17.70/2.86 Y3))) => 17.70/2.86 (( 17.70/2.86 (Y2) = 17.70/2.86 (Y3))))))))))))))))) => 17.70/2.86 (((!!) @ (^[Y0 : 17.70/2.86 subst > 17.70/2.86 term > term]: 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y1 : subst]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y3 : subst]: 17.70/2.86 (( 17.70/2.86 (sub @ 17.70/2.86 ( 17.70/2.86 Y0 @ 17.70/2.86 Y1 @ Y2) @ 17.70/2.86 Y3) = 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 comp @ 17.70/2.86 Y1 @ Y3) @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y2 @ Y3))))))))))))) => 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y1 : 17.70/2.86 subst > 17.70/2.86 term > term]: 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : subst]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y3 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y4 : subst]: 17.70/2.86 (( 17.70/2.86 (sub @ 17.70/2.86 ( 17.70/2.86 Y1 @ 17.70/2.86 Y2 @ Y3) @ 17.70/2.86 Y4) = 17.70/2.86 (Y1 @ 17.70/2.86 ( 17.70/2.86 comp @ 17.70/2.86 Y2 @ Y4) @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y3 @ Y4))))))))))))) => 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (lam @ 17.70/2.86 ( 17.70/2.86 Y0 @ 17.70/2.86 sh @ one)) = 17.70/2.86 (lam @ 17.70/2.86 ( 17.70/2.86 Y1 @ 17.70/2.86 sh @ one)))) => 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : subst]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y3 : term]: 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y2 @ 17.70/2.86 Y3) = 17.70/2.86 (Y1 @ 17.70/2.86 Y2 @ Y3)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), 17.70/2.86 inference('lazy_cnf_imply', [status(thm)], [zip_derived_cl16])). 17.70/2.86 thf(zip_derived_cl26, plain, 17.70/2.86 (~ (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ (^[Y1 : subst]: 17.70/2.86 (((comp @ sh @ (push @ Y0 @ Y1)) = (Y1))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : subst]: 17.70/2.86 (((!!) @ (^[Y1 : subst]: 17.70/2.86 (((!!) @ (^[Y2 : subst]: 17.70/2.86 (((comp @ (comp @ Y0 @ Y1) @ 17.70/2.86 Y2) = (comp @ Y0 @ 17.70/2.86 (comp @ Y1 @ Y2))))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ (^[Y1 : subst]: 17.70/2.86 (((!!) @ (^[Y2 : subst]: 17.70/2.86 (((comp @ 17.70/2.86 (push @ Y0 @ Y1) @ Y2) = 17.70/2.86 (push @ (sub @ Y0 @ Y2) @ 17.70/2.86 (comp @ Y1 @ Y2))))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : subst]: (((comp @ Y0 @ id) = (Y0)))))) => 17.70/2.86 (((((push @ one @ sh) = (id))) => 17.70/2.86 (((((!!) @ (^[Y0 : subst]: 17.70/2.86 (((push @ (sub @ one @ Y0) @ 17.70/2.86 (comp @ sh @ Y0)) = (Y0)))))) => 17.70/2.86 (((var @ one) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((var @ Y0) => (var @ (sub @ Y0 @ sh))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term > $o]: 17.70/2.86 (((Y0 @ one) => 17.70/2.86 (((((!!) @ (^[Y1 : term]: 17.70/2.86 (((var @ Y1) => 17.70/2.86 (((Y0 @ Y1) => (Y0 @ 17.70/2.86 (sub @ Y1 @ sh))))))))) => 17.70/2.86 (((!!) @ (^[Y1 : term]: 17.70/2.86 (((var @ Y1) => (Y0 @ 17.70/2.86 Y1))))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ (^[Y1 : term]: 17.70/2.86 (((!!) @ (^[Y2 : term]: 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y3 : term]: 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (ap @ 17.70/2.86 Y0 @ 17.70/2.86 Y2) = 17.70/2.86 (ap @ 17.70/2.86 Y1 @ Y3))) => 17.70/2.86 (( 17.70/2.86 (Y0) = 17.70/2.86 (Y1))))))))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ (^[Y1 : term]: 17.70/2.86 (((!!) @ (^[Y2 : term]: 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y3 : term]: 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (ap @ 17.70/2.86 Y0 @ 17.70/2.86 Y2) = 17.70/2.86 (ap @ 17.70/2.86 Y1 @ Y3))) => 17.70/2.86 (( 17.70/2.86 (Y2) = 17.70/2.86 (Y3))))))))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ (^[Y1 : term]: 17.70/2.86 (((((lam @ Y0) = 17.70/2.86 (lam @ Y1))) => 17.70/2.86 (((Y0) = (Y1))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ (^[Y1 : term]: 17.70/2.86 (((((sub @ Y0 @ 17.70/2.86 sh) = (sub @ 17.70/2.86 Y1 @ sh))) => 17.70/2.86 (((Y0) = (Y1))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ (^[Y1 : term]: 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y2 : term]: 17.70/2.86 (((lam @ 17.70/2.86 Y0) != 17.70/2.86 (ap @ Y1 @ 17.70/2.86 Y2)))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ (^[Y1 : term]: 17.70/2.86 (((~) @ ( 17.70/2.86 var @ 17.70/2.86 (ap @ Y0 @ Y1)))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((~) @ (var @ (lam @ Y0))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term > $o]: 17.70/2.86 (((((!!) @ (^[Y1 : term]: 17.70/2.86 (( 17.70/2.86 (var @ 17.70/2.86 Y1) => 17.70/2.86 (Y0 @ Y1)))))) => 17.70/2.86 (((((!!) @ (^[Y1 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : term]: 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y1) => 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y2) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 ap @ 17.70/2.86 Y1 @ Y2)))))))))))) => 17.70/2.86 (((((!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (((Y0 @ Y1) => 17.70/2.86 (Y0 @ 17.70/2.86 (lam @ Y1))))))) => 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (Y0 @ Y1))))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term > $o]: 17.70/2.86 (((!!) @ (^[Y1 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : subst]: 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y3 : term]: 17.70/2.86 (( 17.70/2.86 (var @ 17.70/2.86 Y3) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y3 @ Y2))))))) => 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y1) => 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y3 : term]: 17.70/2.86 (( 17.70/2.86 (var @ 17.70/2.86 Y3) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y3 @ 17.70/2.86 ( 17.70/2.86 push @ 17.70/2.86 Y1 @ Y2))))))))))))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term > $o]: 17.70/2.86 (((((!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y2 : term]: 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y1) => 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y2) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 ap @ 17.70/2.86 Y1 @ Y2)))))))))))) => 17.70/2.86 (((((!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (((( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : term]: 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y2) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y1 @ 17.70/2.86 ( 17.70/2.86 push @ 17.70/2.86 Y2 @ id)))))))) => 17.70/2.86 (Y0 @ 17.70/2.86 (lam @ Y1))))))) => 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y2 : subst]: 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y3 : term]: 17.70/2.86 (( 17.70/2.86 (var @ 17.70/2.86 Y3) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y3 @ Y2))))))) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y1 @ Y2))))))))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term > $o]: 17.70/2.86 (((((!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (((var @ 17.70/2.86 Y1) => 17.70/2.86 (Y0 @ Y1)))))) => 17.70/2.86 (((((!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : term]: 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y1) => 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y2) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 ap @ 17.70/2.86 Y1 @ Y2)))))))))))) => 17.70/2.86 (((((!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : term]: 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y2) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y1 @ 17.70/2.86 ( 17.70/2.86 push @ 17.70/2.86 Y2 @ id)))))))) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 lam @ Y1))))))) => 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (Y0 @ Y1))))))))))))) => 17.70/2.86 (((((((!!) @ (^[Y0 : subst]: 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y1 : subst]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : subst]: 17.70/2.86 (( 17.70/2.86 (comp @ 17.70/2.86 ( 17.70/2.86 comp @ 17.70/2.86 Y0 @ Y1) @ 17.70/2.86 Y2) = 17.70/2.86 (comp @ 17.70/2.86 Y0 @ 17.70/2.86 ( 17.70/2.86 comp @ 17.70/2.86 Y1 @ Y2))))))))))))) & 17.70/2.86 (((!!) @ (^[Y0 : subst]: 17.70/2.86 (((comp @ 17.70/2.86 id @ Y0) = 17.70/2.86 (Y0)))))) & 17.70/2.86 (((!!) @ (^[Y0 : subst]: 17.70/2.86 (((comp @ 17.70/2.86 Y0 @ id) = 17.70/2.86 (Y0)))))))) => 17.70/2.86 (((((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y1 : subst]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : subst]: 17.70/2.86 (( 17.70/2.86 (sub @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y0 @ Y1) @ 17.70/2.86 Y2) = 17.70/2.86 (sub @ 17.70/2.86 Y0 @ 17.70/2.86 ( 17.70/2.86 comp @ 17.70/2.86 Y1 @ Y2))))))))))))) & 17.70/2.86 (((!!) @ (^[Y0 : term]: 17.70/2.86 (((sub @ 17.70/2.86 Y0 @ id) = 17.70/2.86 (Y0)))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y3 : term]: 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (ap @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y0 @ id) @ 17.70/2.86 Y2) = 17.70/2.86 (ap @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y1 @ id) @ 17.70/2.86 Y3))) => 17.70/2.86 (( 17.70/2.86 (Y0) = 17.70/2.86 (Y1))))))))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y3 : term]: 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (ap @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y0 @ id) @ 17.70/2.86 Y2) = 17.70/2.86 (ap @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y1 @ id) @ 17.70/2.86 Y3))) => 17.70/2.86 (( 17.70/2.86 (Y2) = 17.70/2.86 (Y3))))))))))))))))) => 17.70/2.86 (((!!) @ (^[Y0 : 17.70/2.86 subst > 17.70/2.86 term > term]: 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y1 : subst]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y3 : subst]: 17.70/2.86 (( 17.70/2.86 (sub @ 17.70/2.86 ( 17.70/2.86 Y0 @ 17.70/2.86 Y1 @ Y2) @ 17.70/2.86 Y3) = 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 comp @ 17.70/2.86 Y1 @ Y3) @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y2 @ Y3))))))))))))) => 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y1 : 17.70/2.86 subst > 17.70/2.86 term > term]: 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : subst]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y3 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y4 : subst]: 17.70/2.86 (( 17.70/2.86 (sub @ 17.70/2.86 ( 17.70/2.86 Y1 @ 17.70/2.86 Y2 @ Y3) @ 17.70/2.86 Y4) = 17.70/2.86 (Y1 @ 17.70/2.86 ( 17.70/2.86 comp @ 17.70/2.86 Y2 @ Y4) @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y3 @ Y4))))))))))))) => 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (lam @ 17.70/2.86 ( 17.70/2.86 Y0 @ 17.70/2.86 sh @ one)) = 17.70/2.86 (lam @ 17.70/2.86 ( 17.70/2.86 Y1 @ 17.70/2.86 sh @ one)))) => 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : subst]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y3 : term]: 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y2 @ 17.70/2.86 Y3) = 17.70/2.86 (Y1 @ 17.70/2.86 Y2 @ Y3)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), 17.70/2.86 inference('lazy_cnf_imply', [status(thm)], [zip_derived_cl22])). 17.70/2.86 thf(zip_derived_cl31, plain, 17.70/2.86 (~ (((((!!) @ (^[Y0 : subst]: 17.70/2.86 (((!!) @ (^[Y1 : subst]: 17.70/2.86 (((!!) @ (^[Y2 : subst]: 17.70/2.86 (((comp @ (comp @ Y0 @ Y1) @ 17.70/2.86 Y2) = (comp @ Y0 @ 17.70/2.86 (comp @ Y1 @ Y2))))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ (^[Y1 : subst]: 17.70/2.86 (((!!) @ (^[Y2 : subst]: 17.70/2.86 (((comp @ (push @ Y0 @ Y1) @ 17.70/2.86 Y2) = (push @ 17.70/2.86 (sub @ Y0 @ Y2) @ 17.70/2.86 (comp @ Y1 @ Y2))))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : subst]: (((comp @ Y0 @ id) = (Y0)))))) => 17.70/2.86 (((((push @ one @ sh) = (id))) => 17.70/2.86 (((((!!) @ (^[Y0 : subst]: 17.70/2.86 (((push @ (sub @ one @ Y0) @ (comp @ sh @ Y0)) = 17.70/2.86 (Y0)))))) => 17.70/2.86 (((var @ one) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((var @ Y0) => (var @ (sub @ Y0 @ sh))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term > $o]: 17.70/2.86 (((Y0 @ one) => 17.70/2.86 (((((!!) @ (^[Y1 : term]: 17.70/2.86 (((var @ Y1) => 17.70/2.86 (((Y0 @ Y1) => (Y0 @ 17.70/2.86 (sub @ Y1 @ sh))))))))) => 17.70/2.86 (((!!) @ (^[Y1 : term]: 17.70/2.86 (((var @ Y1) => (Y0 @ Y1))))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ (^[Y1 : term]: 17.70/2.86 (((!!) @ (^[Y2 : term]: 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y3 : term]: 17.70/2.86 (((( 17.70/2.86 (ap @ 17.70/2.86 Y0 @ Y2) = 17.70/2.86 (ap @ 17.70/2.86 Y1 @ Y3))) => 17.70/2.86 (( 17.70/2.86 (Y0) = 17.70/2.86 (Y1))))))))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ (^[Y1 : term]: 17.70/2.86 (((!!) @ (^[Y2 : term]: 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y3 : term]: 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (ap @ 17.70/2.86 Y0 @ 17.70/2.86 Y2) = 17.70/2.86 (ap @ 17.70/2.86 Y1 @ Y3))) => 17.70/2.86 (( 17.70/2.86 (Y2) = 17.70/2.86 (Y3))))))))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ (^[Y1 : term]: 17.70/2.86 (((((lam @ Y0) = (lam @ 17.70/2.86 Y1))) => 17.70/2.86 (((Y0) = (Y1))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ (^[Y1 : term]: 17.70/2.86 (((((sub @ Y0 @ sh) = 17.70/2.86 (sub @ Y1 @ sh))) => 17.70/2.86 (((Y0) = (Y1))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ (^[Y1 : term]: 17.70/2.86 (((!!) @ (^[Y2 : term]: 17.70/2.86 (( 17.70/2.86 (lam @ 17.70/2.86 Y0) != 17.70/2.86 (ap @ 17.70/2.86 Y1 @ Y2)))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ (^[Y1 : term]: 17.70/2.86 (((~) @ (var @ 17.70/2.86 ( 17.70/2.86 ap @ 17.70/2.86 Y0 @ Y1)))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((~) @ (var @ (lam @ Y0))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term > $o]: 17.70/2.86 (((((!!) @ (^[Y1 : term]: 17.70/2.86 (((var @ 17.70/2.86 Y1) => 17.70/2.86 (Y0 @ Y1)))))) => 17.70/2.86 (((((!!) @ (^[Y1 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : term]: 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y1) => 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y2) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 ap @ 17.70/2.86 Y1 @ Y2)))))))))))) => 17.70/2.86 (((((!!) @ (^[Y1 : term]: 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y1) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 lam @ Y1))))))) => 17.70/2.86 (((!!) @ (^[Y1 : term]: 17.70/2.86 (Y0 @ Y1))))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term > $o]: 17.70/2.86 (((!!) @ (^[Y1 : term]: 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y2 : subst]: 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y3 : term]: 17.70/2.86 (( 17.70/2.86 (var @ 17.70/2.86 Y3) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y3 @ Y2))))))) => 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y1) => 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y3 : term]: 17.70/2.86 (( 17.70/2.86 (var @ 17.70/2.86 Y3) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y3 @ 17.70/2.86 ( 17.70/2.86 push @ 17.70/2.86 Y1 @ Y2))))))))))))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term > $o]: 17.70/2.86 (((((!!) @ (^[Y1 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : term]: 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y1) => 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y2) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 ap @ 17.70/2.86 Y1 @ Y2)))))))))))) => 17.70/2.86 (((((!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (((((!!) @ ( 17.70/2.86 ^[Y2 : term]: 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y2) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y1 @ 17.70/2.86 ( 17.70/2.86 push @ 17.70/2.86 Y2 @ id)))))))) => 17.70/2.86 (Y0 @ 17.70/2.86 (lam @ Y1))))))) => 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y2 : subst]: 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y3 : term]: 17.70/2.86 (( 17.70/2.86 (var @ 17.70/2.86 Y3) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y3 @ Y2))))))) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y1 @ Y2))))))))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term > $o]: 17.70/2.86 (((((!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (((var @ 17.70/2.86 Y1) => 17.70/2.86 (Y0 @ Y1)))))) => 17.70/2.86 (((((!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y2 : term]: 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y1) => 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y2) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 ap @ 17.70/2.86 Y1 @ Y2)))))))))))) => 17.70/2.86 (((((!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : term]: 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y2) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y1 @ 17.70/2.86 ( 17.70/2.86 push @ 17.70/2.86 Y2 @ id)))))))) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 lam @ Y1))))))) => 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (Y0 @ Y1))))))))))))) => 17.70/2.86 (((((((!!) @ (^[Y0 : subst]: 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y1 : subst]: 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y2 : subst]: 17.70/2.86 (( 17.70/2.86 (comp @ 17.70/2.86 ( 17.70/2.86 comp @ 17.70/2.86 Y0 @ Y1) @ 17.70/2.86 Y2) = 17.70/2.86 (comp @ 17.70/2.86 Y0 @ 17.70/2.86 ( 17.70/2.86 comp @ 17.70/2.86 Y1 @ Y2))))))))))))) & 17.70/2.86 (((!!) @ (^[Y0 : subst]: 17.70/2.86 (((comp @ id @ 17.70/2.86 Y0) = (Y0)))))) & 17.70/2.86 (((!!) @ (^[Y0 : subst]: 17.70/2.86 (((comp @ Y0 @ 17.70/2.86 id) = (Y0)))))))) => 17.70/2.86 (((((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y1 : subst]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : subst]: 17.70/2.86 (( 17.70/2.86 (sub @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y0 @ Y1) @ 17.70/2.86 Y2) = 17.70/2.86 (sub @ 17.70/2.86 Y0 @ 17.70/2.86 ( 17.70/2.86 comp @ 17.70/2.86 Y1 @ Y2))))))))))))) & 17.70/2.86 (((!!) @ (^[Y0 : term]: 17.70/2.86 (((sub @ Y0 @ 17.70/2.86 id) = (Y0)))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y3 : term]: 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (ap @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y0 @ id) @ 17.70/2.86 Y2) = 17.70/2.86 (ap @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y1 @ id) @ 17.70/2.86 Y3))) => 17.70/2.86 (( 17.70/2.86 (Y0) = 17.70/2.86 (Y1))))))))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y3 : term]: 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (ap @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y0 @ id) @ 17.70/2.86 Y2) = 17.70/2.86 (ap @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y1 @ id) @ 17.70/2.86 Y3))) => 17.70/2.86 (( 17.70/2.86 (Y2) = 17.70/2.86 (Y3))))))))))))))))) => 17.70/2.86 (((!!) @ (^[Y0 : 17.70/2.86 subst > term > term]: 17.70/2.86 (((( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y1 : subst]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y3 : subst]: 17.70/2.86 (( 17.70/2.86 (sub @ 17.70/2.86 ( 17.70/2.86 Y0 @ 17.70/2.86 Y1 @ Y2) @ 17.70/2.86 Y3) = 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 comp @ 17.70/2.86 Y1 @ Y3) @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y2 @ Y3))))))))))))) => 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y1 : 17.70/2.86 subst > 17.70/2.86 term > term]: 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : subst]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y3 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y4 : subst]: 17.70/2.86 (( 17.70/2.86 (sub @ 17.70/2.86 ( 17.70/2.86 Y1 @ 17.70/2.86 Y2 @ Y3) @ 17.70/2.86 Y4) = 17.70/2.86 (Y1 @ 17.70/2.86 ( 17.70/2.86 comp @ 17.70/2.86 Y2 @ Y4) @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y3 @ Y4))))))))))))) => 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (lam @ 17.70/2.86 ( 17.70/2.86 Y0 @ 17.70/2.86 sh @ one)) = 17.70/2.86 (lam @ 17.70/2.86 ( 17.70/2.86 Y1 @ 17.70/2.86 sh @ one)))) => 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : subst]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y3 : term]: 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y2 @ 17.70/2.86 Y3) = 17.70/2.86 (Y1 @ 17.70/2.86 Y2 @ Y3)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), 17.70/2.86 inference('lazy_cnf_imply', [status(thm)], [zip_derived_cl26])). 17.70/2.86 thf(zip_derived_cl36, plain, 17.70/2.86 (~ (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ (^[Y1 : subst]: 17.70/2.86 (((!!) @ (^[Y2 : subst]: 17.70/2.86 (((comp @ (push @ Y0 @ Y1) @ 17.70/2.86 Y2) = (push @ 17.70/2.86 (sub @ Y0 @ Y2) @ 17.70/2.86 (comp @ Y1 @ Y2))))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : subst]: (((comp @ Y0 @ id) = (Y0)))))) => 17.70/2.86 (((((push @ one @ sh) = (id))) => 17.70/2.86 (((((!!) @ (^[Y0 : subst]: 17.70/2.86 (((push @ (sub @ one @ Y0) @ (comp @ sh @ Y0)) = 17.70/2.86 (Y0)))))) => 17.70/2.86 (((var @ one) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((var @ Y0) => (var @ (sub @ Y0 @ sh))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term > $o]: 17.70/2.86 (((Y0 @ one) => 17.70/2.86 (((((!!) @ (^[Y1 : term]: 17.70/2.86 (((var @ Y1) => 17.70/2.86 (((Y0 @ Y1) => (Y0 @ 17.70/2.86 (sub @ Y1 @ sh))))))))) => 17.70/2.86 (((!!) @ (^[Y1 : term]: 17.70/2.86 (((var @ Y1) => (Y0 @ Y1))))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ (^[Y1 : term]: 17.70/2.86 (((!!) @ (^[Y2 : term]: 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y3 : term]: 17.70/2.86 (((((ap @ 17.70/2.86 Y0 @ Y2) = 17.70/2.86 (ap @ 17.70/2.86 Y1 @ Y3))) => 17.70/2.86 (((Y0) = 17.70/2.86 (Y1))))))))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ (^[Y1 : term]: 17.70/2.86 (((!!) @ (^[Y2 : term]: 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y3 : term]: 17.70/2.86 (((( 17.70/2.86 (ap @ 17.70/2.86 Y0 @ Y2) = 17.70/2.86 (ap @ 17.70/2.86 Y1 @ Y3))) => 17.70/2.86 (( 17.70/2.86 (Y2) = 17.70/2.86 (Y3))))))))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ (^[Y1 : term]: 17.70/2.86 (((((lam @ Y0) = (lam @ 17.70/2.86 Y1))) => 17.70/2.86 (((Y0) = (Y1))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ (^[Y1 : term]: 17.70/2.86 (((((sub @ Y0 @ sh) = 17.70/2.86 (sub @ Y1 @ sh))) => 17.70/2.86 (((Y0) = (Y1))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ (^[Y1 : term]: 17.70/2.86 (((!!) @ (^[Y2 : term]: 17.70/2.86 (( 17.70/2.86 (lam @ 17.70/2.86 Y0) != 17.70/2.86 (ap @ 17.70/2.86 Y1 @ Y2)))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ (^[Y1 : term]: 17.70/2.86 (((~) @ (var @ 17.70/2.86 (ap @ Y0 @ 17.70/2.86 Y1)))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((~) @ (var @ (lam @ Y0))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term > $o]: 17.70/2.86 (((((!!) @ (^[Y1 : term]: 17.70/2.86 (((var @ 17.70/2.86 Y1) => 17.70/2.86 (Y0 @ Y1)))))) => 17.70/2.86 (((((!!) @ (^[Y1 : term]: 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y2 : term]: 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y1) => 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y2) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 ap @ 17.70/2.86 Y1 @ Y2)))))))))))) => 17.70/2.86 (((((!!) @ (^[Y1 : term]: 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y1) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 lam @ Y1))))))) => 17.70/2.86 (((!!) @ (^[Y1 : term]: 17.70/2.86 (Y0 @ Y1))))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term > $o]: 17.70/2.86 (((!!) @ (^[Y1 : term]: 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y2 : subst]: 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y3 : term]: 17.70/2.86 (( 17.70/2.86 (var @ 17.70/2.86 Y3) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y3 @ Y2))))))) => 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y1) => 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y3 : term]: 17.70/2.86 (( 17.70/2.86 (var @ 17.70/2.86 Y3) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y3 @ 17.70/2.86 ( 17.70/2.86 push @ 17.70/2.86 Y1 @ Y2))))))))))))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term > $o]: 17.70/2.86 (((((!!) @ (^[Y1 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : term]: 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y1) => 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y2) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 ap @ 17.70/2.86 Y1 @ Y2)))))))))))) => 17.70/2.86 (((((!!) @ (^[Y1 : term]: 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : term]: 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y2) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y1 @ 17.70/2.86 ( 17.70/2.86 push @ 17.70/2.86 Y2 @ id)))))))) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 lam @ Y1))))))) => 17.70/2.86 (((!!) @ (^[Y1 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : subst]: 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y3 : term]: 17.70/2.86 (( 17.70/2.86 (var @ 17.70/2.86 Y3) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y3 @ Y2))))))) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y1 @ Y2))))))))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term > $o]: 17.70/2.86 (((((!!) @ (^[Y1 : term]: 17.70/2.86 (( 17.70/2.86 (var @ 17.70/2.86 Y1) => 17.70/2.86 (Y0 @ Y1)))))) => 17.70/2.86 (((((!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y2 : term]: 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y1) => 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y2) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 ap @ 17.70/2.86 Y1 @ Y2)))))))))))) => 17.70/2.86 (((((!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (((( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : term]: 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y2) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y1 @ 17.70/2.86 ( 17.70/2.86 push @ 17.70/2.86 Y2 @ id)))))))) => 17.70/2.86 (Y0 @ 17.70/2.86 (lam @ Y1))))))) => 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (Y0 @ Y1))))))))))))) => 17.70/2.86 (((((((!!) @ (^[Y0 : subst]: 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y1 : subst]: 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y2 : subst]: 17.70/2.86 (( 17.70/2.86 (comp @ 17.70/2.86 ( 17.70/2.86 comp @ 17.70/2.86 Y0 @ Y1) @ 17.70/2.86 Y2) = 17.70/2.86 (comp @ 17.70/2.86 Y0 @ 17.70/2.86 ( 17.70/2.86 comp @ 17.70/2.86 Y1 @ Y2))))))))))))) & 17.70/2.86 (((!!) @ (^[Y0 : subst]: 17.70/2.86 (((comp @ id @ 17.70/2.86 Y0) = (Y0)))))) & 17.70/2.86 (((!!) @ (^[Y0 : subst]: 17.70/2.86 (((comp @ Y0 @ 17.70/2.86 id) = (Y0)))))))) => 17.70/2.86 (((((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y1 : subst]: 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y2 : subst]: 17.70/2.86 (( 17.70/2.86 (sub @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y0 @ Y1) @ 17.70/2.86 Y2) = 17.70/2.86 (sub @ 17.70/2.86 Y0 @ 17.70/2.86 ( 17.70/2.86 comp @ 17.70/2.86 Y1 @ Y2))))))))))))) & 17.70/2.86 (((!!) @ (^[Y0 : term]: 17.70/2.86 (((sub @ Y0 @ 17.70/2.86 id) = (Y0)))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y2 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y3 : term]: 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (ap @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y0 @ id) @ 17.70/2.86 Y2) = 17.70/2.86 (ap @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y1 @ id) @ 17.70/2.86 Y3))) => 17.70/2.86 (( 17.70/2.86 (Y0) = 17.70/2.86 (Y1))))))))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y3 : term]: 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (ap @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y0 @ id) @ 17.70/2.86 Y2) = 17.70/2.86 (ap @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y1 @ id) @ 17.70/2.86 Y3))) => 17.70/2.86 (( 17.70/2.86 (Y2) = 17.70/2.86 (Y3))))))))))))))))) => 17.70/2.86 (((!!) @ (^[Y0 : subst > 17.70/2.86 term > term]: 17.70/2.86 (((((!!) @ ( 17.70/2.86 ^[Y1 : subst]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y3 : subst]: 17.70/2.86 (( 17.70/2.86 (sub @ 17.70/2.86 ( 17.70/2.86 Y0 @ 17.70/2.86 Y1 @ Y2) @ 17.70/2.86 Y3) = 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 comp @ 17.70/2.86 Y1 @ Y3) @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y2 @ Y3))))))))))))) => 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y1 : 17.70/2.86 subst > 17.70/2.86 term > term]: 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : subst]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y3 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y4 : subst]: 17.70/2.86 (( 17.70/2.86 (sub @ 17.70/2.86 ( 17.70/2.86 Y1 @ 17.70/2.86 Y2 @ Y3) @ 17.70/2.86 Y4) = 17.70/2.86 (Y1 @ 17.70/2.86 ( 17.70/2.86 comp @ 17.70/2.86 Y2 @ Y4) @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y3 @ Y4))))))))))))) => 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (lam @ 17.70/2.86 ( 17.70/2.86 Y0 @ 17.70/2.86 sh @ one)) = 17.70/2.86 (lam @ 17.70/2.86 ( 17.70/2.86 Y1 @ 17.70/2.86 sh @ one)))) => 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : subst]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y3 : term]: 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y2 @ 17.70/2.86 Y3) = 17.70/2.86 (Y1 @ 17.70/2.86 Y2 @ Y3)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), 17.70/2.86 inference('lazy_cnf_imply', [status(thm)], [zip_derived_cl31])). 17.70/2.86 thf(zip_derived_cl41, plain, 17.70/2.86 (~ (((((!!) @ (^[Y0 : subst]: (((comp @ Y0 @ id) = (Y0)))))) => 17.70/2.86 (((((push @ one @ sh) = (id))) => 17.70/2.86 (((((!!) @ (^[Y0 : subst]: 17.70/2.86 (((push @ (sub @ one @ Y0) @ (comp @ sh @ Y0)) = 17.70/2.86 (Y0)))))) => 17.70/2.86 (((var @ one) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((var @ Y0) => (var @ (sub @ Y0 @ sh))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term > $o]: 17.70/2.86 (((Y0 @ one) => 17.70/2.86 (((((!!) @ (^[Y1 : term]: 17.70/2.86 (((var @ Y1) => 17.70/2.86 (((Y0 @ Y1) => (Y0 @ 17.70/2.86 (sub @ Y1 @ sh))))))))) => 17.70/2.86 (((!!) @ (^[Y1 : term]: 17.70/2.86 (((var @ Y1) => (Y0 @ Y1))))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ (^[Y1 : term]: 17.70/2.86 (((!!) @ (^[Y2 : term]: 17.70/2.86 (((!!) @ (^[Y3 : term]: 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (ap @ 17.70/2.86 Y0 @ 17.70/2.86 Y2) = 17.70/2.86 (ap @ 17.70/2.86 Y1 @ Y3))) => 17.70/2.86 (( 17.70/2.86 (Y0) = 17.70/2.86 (Y1))))))))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ (^[Y1 : term]: 17.70/2.86 (((!!) @ (^[Y2 : term]: 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y3 : term]: 17.70/2.86 (((((ap @ 17.70/2.86 Y0 @ Y2) = 17.70/2.86 (ap @ 17.70/2.86 Y1 @ Y3))) => 17.70/2.86 (((Y2) = 17.70/2.86 (Y3))))))))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ (^[Y1 : term]: 17.70/2.86 (((((lam @ Y0) = (lam @ Y1))) => 17.70/2.86 (((Y0) = (Y1))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ (^[Y1 : term]: 17.70/2.86 (((((sub @ Y0 @ sh) = 17.70/2.86 (sub @ Y1 @ sh))) => 17.70/2.86 (((Y0) = (Y1))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ (^[Y1 : term]: 17.70/2.86 (((!!) @ (^[Y2 : term]: 17.70/2.86 (((lam @ 17.70/2.86 Y0) != 17.70/2.86 (ap @ 17.70/2.86 Y1 @ Y2)))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ (^[Y1 : term]: 17.70/2.86 (((~) @ (var @ 17.70/2.86 (ap @ Y0 @ Y1)))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((~) @ (var @ (lam @ Y0))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term > $o]: 17.70/2.86 (((((!!) @ (^[Y1 : term]: 17.70/2.86 (((var @ Y1) => 17.70/2.86 (Y0 @ Y1)))))) => 17.70/2.86 (((((!!) @ (^[Y1 : term]: 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y2 : term]: 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y1) => 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y2) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 ap @ 17.70/2.86 Y1 @ Y2)))))))))))) => 17.70/2.86 (((((!!) @ (^[Y1 : term]: 17.70/2.86 (((Y0 @ 17.70/2.86 Y1) => 17.70/2.86 (Y0 @ 17.70/2.86 (lam @ Y1))))))) => 17.70/2.86 (((!!) @ (^[Y1 : term]: 17.70/2.86 (Y0 @ Y1))))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term > $o]: 17.70/2.86 (((!!) @ (^[Y1 : term]: 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y2 : subst]: 17.70/2.86 (((( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y3 : term]: 17.70/2.86 (( 17.70/2.86 (var @ 17.70/2.86 Y3) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y3 @ Y2))))))) => 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y1) => 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y3 : term]: 17.70/2.86 (( 17.70/2.86 (var @ 17.70/2.86 Y3) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y3 @ 17.70/2.86 ( 17.70/2.86 push @ 17.70/2.86 Y1 @ Y2))))))))))))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term > $o]: 17.70/2.86 (((((!!) @ (^[Y1 : term]: 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y2 : term]: 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y1) => 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y2) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 ap @ 17.70/2.86 Y1 @ Y2)))))))))))) => 17.70/2.86 (((((!!) @ (^[Y1 : term]: 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : term]: 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y2) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y1 @ 17.70/2.86 ( 17.70/2.86 push @ 17.70/2.86 Y2 @ id)))))))) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 lam @ Y1))))))) => 17.70/2.86 (((!!) @ (^[Y1 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : subst]: 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y3 : term]: 17.70/2.86 (( 17.70/2.86 (var @ 17.70/2.86 Y3) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y3 @ Y2))))))) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y1 @ Y2))))))))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term > $o]: 17.70/2.86 (((((!!) @ (^[Y1 : term]: 17.70/2.86 (( 17.70/2.86 (var @ 17.70/2.86 Y1) => 17.70/2.86 (Y0 @ Y1)))))) => 17.70/2.86 (((((!!) @ (^[Y1 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : term]: 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y1) => 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y2) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 ap @ 17.70/2.86 Y1 @ Y2)))))))))))) => 17.70/2.86 (((((!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (((((!!) @ ( 17.70/2.86 ^[Y2 : term]: 17.70/2.86 (( 17.70/2.86 (Y0 @ 17.70/2.86 Y2) => 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y1 @ 17.70/2.86 ( 17.70/2.86 push @ 17.70/2.86 Y2 @ id)))))))) => 17.70/2.86 (Y0 @ 17.70/2.86 (lam @ Y1))))))) => 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (Y0 @ Y1))))))))))))) => 17.70/2.86 (((((((!!) @ (^[Y0 : subst]: 17.70/2.86 (((!!) @ (^[Y1 : subst]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : subst]: 17.70/2.86 (( 17.70/2.86 (comp @ 17.70/2.86 ( 17.70/2.86 comp @ 17.70/2.86 Y0 @ Y1) @ 17.70/2.86 Y2) = 17.70/2.86 (comp @ 17.70/2.86 Y0 @ 17.70/2.86 ( 17.70/2.86 comp @ 17.70/2.86 Y1 @ Y2))))))))))))) & 17.70/2.86 (((!!) @ (^[Y0 : subst]: 17.70/2.86 (((comp @ id @ Y0) = 17.70/2.86 (Y0)))))) & 17.70/2.86 (((!!) @ (^[Y0 : subst]: 17.70/2.86 (((comp @ Y0 @ id) = 17.70/2.86 (Y0)))))))) => 17.70/2.86 (((((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y1 : subst]: 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y2 : subst]: 17.70/2.86 (( 17.70/2.86 (sub @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y0 @ Y1) @ 17.70/2.86 Y2) = 17.70/2.86 (sub @ 17.70/2.86 Y0 @ 17.70/2.86 ( 17.70/2.86 comp @ 17.70/2.86 Y1 @ Y2))))))))))))) & 17.70/2.86 (((!!) @ (^[Y0 : term]: 17.70/2.86 (((sub @ Y0 @ 17.70/2.86 id) = (Y0)))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y2 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y3 : term]: 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (ap @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y0 @ id) @ 17.70/2.86 Y2) = 17.70/2.86 (ap @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y1 @ id) @ 17.70/2.86 Y3))) => 17.70/2.86 (( 17.70/2.86 (Y0) = 17.70/2.86 (Y1))))))))))))))))) => 17.70/2.86 (((((!!) @ (^[Y0 : term]: 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y1 : term]: 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y2 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y3 : term]: 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (ap @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y0 @ id) @ 17.70/2.86 Y2) = 17.70/2.86 (ap @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y1 @ id) @ 17.70/2.86 Y3))) => 17.70/2.86 (( 17.70/2.86 (Y2) = 17.70/2.86 (Y3))))))))))))))))) => 17.70/2.86 (((!!) @ (^[Y0 : subst > 17.70/2.86 term > term]: 17.70/2.86 (((((!!) @ ( 17.70/2.86 ^[Y1 : subst]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y3 : subst]: 17.70/2.86 (( 17.70/2.86 (sub @ 17.70/2.86 ( 17.70/2.86 Y0 @ 17.70/2.86 Y1 @ Y2) @ 17.70/2.86 Y3) = 17.70/2.86 (Y0 @ 17.70/2.86 ( 17.70/2.86 comp @ 17.70/2.86 Y1 @ Y3) @ 17.70/2.86 ( 17.70/2.86 sub @ 17.70/2.86 Y2 @ Y3))))))))))))) => 17.70/2.86 (((!!) @ ( 17.70/2.86 ^[Y1 : 17.70/2.86 subst > 17.70/2.86 term > term]: 17.70/2.86 (( 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y2 : subst]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y3 : term]: 17.70/2.86 (( 17.70/2.86 (!!) @ ( 17.70/2.86 ^[Y4 : subst]: 17.70/2.87 (( 17.70/2.87 (sub @ 17.70/2.87 ( 17.70/2.87 Y1 @ 17.70/2.87 Y2 @ Y3) @ 17.70/2.87 Y4) = 17.70/2.87 (Y1 @ 17.70/2.87 ( 17.70/2.87 comp @ 17.70/2.87 Y2 @ Y4) @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y3 @ Y4))))))))))))) => 17.70/2.87 (( 17.70/2.87 (( 17.70/2.87 (lam @ 17.70/2.87 ( 17.70/2.87 Y0 @ 17.70/2.87 sh @ one)) = 17.70/2.87 (lam @ 17.70/2.87 ( 17.70/2.87 Y1 @ 17.70/2.87 sh @ one)))) => 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y2 : subst]: 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y3 : term]: 17.70/2.87 (( 17.70/2.87 (Y0 @ 17.70/2.87 Y2 @ 17.70/2.87 Y3) = 17.70/2.87 (Y1 @ 17.70/2.87 Y2 @ Y3)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), 17.70/2.87 inference('lazy_cnf_imply', [status(thm)], [zip_derived_cl36])). 17.70/2.87 thf(zip_derived_cl46, plain, 17.70/2.87 (~ (((((push @ one @ sh) = (id))) => 17.70/2.87 (((((!!) @ (^[Y0 : subst]: 17.70/2.87 (((push @ (sub @ one @ Y0) @ (comp @ sh @ Y0)) = (Y0)))))) => 17.70/2.87 (((var @ one) => 17.70/2.87 (((((!!) @ (^[Y0 : term]: 17.70/2.87 (((var @ Y0) => (var @ (sub @ Y0 @ sh))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term > $o]: 17.70/2.87 (((Y0 @ one) => 17.70/2.87 (((((!!) @ (^[Y1 : term]: 17.70/2.87 (((var @ Y1) => 17.70/2.87 (((Y0 @ Y1) => (Y0 @ 17.70/2.87 (sub @ Y1 @ sh))))))))) => 17.70/2.87 (((!!) @ (^[Y1 : term]: 17.70/2.87 (((var @ Y1) => (Y0 @ Y1))))))))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term]: 17.70/2.87 (((!!) @ (^[Y1 : term]: 17.70/2.87 (((!!) @ (^[Y2 : term]: 17.70/2.87 (((!!) @ (^[Y3 : term]: 17.70/2.87 (( 17.70/2.87 (( 17.70/2.87 (ap @ 17.70/2.87 Y0 @ 17.70/2.87 Y2) = 17.70/2.87 (ap @ 17.70/2.87 Y1 @ Y3))) => 17.70/2.87 (( 17.70/2.87 (Y0) = 17.70/2.87 (Y1))))))))))))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term]: 17.70/2.87 (((!!) @ (^[Y1 : term]: 17.70/2.87 (((!!) @ (^[Y2 : term]: 17.70/2.87 (((!!) @ (^[Y3 : term]: 17.70/2.87 (( 17.70/2.87 (( 17.70/2.87 (ap @ 17.70/2.87 Y0 @ 17.70/2.87 Y2) = 17.70/2.87 (ap @ 17.70/2.87 Y1 @ Y3))) => 17.70/2.87 (( 17.70/2.87 (Y2) = 17.70/2.87 (Y3))))))))))))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term]: 17.70/2.87 (((!!) @ (^[Y1 : term]: 17.70/2.87 (((((lam @ Y0) = (lam @ Y1))) => 17.70/2.87 (((Y0) = (Y1))))))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term]: 17.70/2.87 (((!!) @ (^[Y1 : term]: 17.70/2.87 (((((sub @ Y0 @ sh) = 17.70/2.87 (sub @ Y1 @ sh))) => 17.70/2.87 (((Y0) = (Y1))))))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term]: 17.70/2.87 (((!!) @ (^[Y1 : term]: 17.70/2.87 (((!!) @ (^[Y2 : term]: 17.70/2.87 (((lam @ 17.70/2.87 Y0) != 17.70/2.87 (ap @ Y1 @ 17.70/2.87 Y2)))))))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term]: 17.70/2.87 (((!!) @ (^[Y1 : term]: 17.70/2.87 (((~) @ (var @ 17.70/2.87 (ap @ Y0 @ Y1)))))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term]: 17.70/2.87 (((~) @ (var @ (lam @ Y0))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term > $o]: 17.70/2.87 (((((!!) @ (^[Y1 : term]: 17.70/2.87 (((var @ Y1) => 17.70/2.87 (Y0 @ Y1)))))) => 17.70/2.87 (((((!!) @ (^[Y1 : term]: 17.70/2.87 (((!!) @ ( 17.70/2.87 ^[Y2 : term]: 17.70/2.87 (((Y0 @ 17.70/2.87 Y1) => 17.70/2.87 (( 17.70/2.87 (Y0 @ 17.70/2.87 Y2) => 17.70/2.87 (Y0 @ 17.70/2.87 (ap @ 17.70/2.87 Y1 @ Y2)))))))))))) => 17.70/2.87 (((((!!) @ (^[Y1 : term]: 17.70/2.87 (((Y0 @ Y1) => 17.70/2.87 (Y0 @ 17.70/2.87 (lam @ Y1))))))) => 17.70/2.87 (((!!) @ (^[Y1 : term]: 17.70/2.87 (Y0 @ Y1))))))))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term > $o]: 17.70/2.87 (((!!) @ (^[Y1 : term]: 17.70/2.87 (((!!) @ ( 17.70/2.87 ^[Y2 : subst]: 17.70/2.87 (((((!!) @ ( 17.70/2.87 ^[Y3 : term]: 17.70/2.87 (( 17.70/2.87 (var @ 17.70/2.87 Y3) => 17.70/2.87 (Y0 @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y3 @ Y2))))))) => 17.70/2.87 (((Y0 @ 17.70/2.87 Y1) => 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y3 : term]: 17.70/2.87 (( 17.70/2.87 (var @ 17.70/2.87 Y3) => 17.70/2.87 (Y0 @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y3 @ 17.70/2.87 ( 17.70/2.87 push @ 17.70/2.87 Y1 @ Y2))))))))))))))))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term > $o]: 17.70/2.87 (((((!!) @ (^[Y1 : term]: 17.70/2.87 (((!!) @ ( 17.70/2.87 ^[Y2 : term]: 17.70/2.87 (( 17.70/2.87 (Y0 @ 17.70/2.87 Y1) => 17.70/2.87 (( 17.70/2.87 (Y0 @ 17.70/2.87 Y2) => 17.70/2.87 (Y0 @ 17.70/2.87 ( 17.70/2.87 ap @ 17.70/2.87 Y1 @ Y2)))))))))))) => 17.70/2.87 (((((!!) @ (^[Y1 : term]: 17.70/2.87 (((( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y2 : term]: 17.70/2.87 (( 17.70/2.87 (Y0 @ 17.70/2.87 Y2) => 17.70/2.87 (Y0 @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y1 @ 17.70/2.87 ( 17.70/2.87 push @ 17.70/2.87 Y2 @ id)))))))) => 17.70/2.87 (Y0 @ 17.70/2.87 (lam @ Y1))))))) => 17.70/2.87 (((!!) @ (^[Y1 : term]: 17.70/2.87 (((!!) @ ( 17.70/2.87 ^[Y2 : subst]: 17.70/2.87 (( 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y3 : term]: 17.70/2.87 (( 17.70/2.87 (var @ 17.70/2.87 Y3) => 17.70/2.87 (Y0 @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y3 @ Y2))))))) => 17.70/2.87 (Y0 @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y1 @ Y2))))))))))))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term > $o]: 17.70/2.87 (((((!!) @ (^[Y1 : term]: 17.70/2.87 (((var @ 17.70/2.87 Y1) => 17.70/2.87 (Y0 @ Y1)))))) => 17.70/2.87 (((((!!) @ (^[Y1 : term]: 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y2 : term]: 17.70/2.87 (( 17.70/2.87 (Y0 @ 17.70/2.87 Y1) => 17.70/2.87 (( 17.70/2.87 (Y0 @ 17.70/2.87 Y2) => 17.70/2.87 (Y0 @ 17.70/2.87 ( 17.70/2.87 ap @ 17.70/2.87 Y1 @ Y2)))))))))))) => 17.70/2.87 (((((!!) @ (^[Y1 : term]: 17.70/2.87 (( 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y2 : term]: 17.70/2.87 (( 17.70/2.87 (Y0 @ 17.70/2.87 Y2) => 17.70/2.87 (Y0 @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y1 @ 17.70/2.87 ( 17.70/2.87 push @ 17.70/2.87 Y2 @ id)))))))) => 17.70/2.87 (Y0 @ 17.70/2.87 ( 17.70/2.87 lam @ Y1))))))) => 17.70/2.87 (((!!) @ (^[Y1 : term]: 17.70/2.87 (Y0 @ Y1))))))))))))) => 17.70/2.87 (((((((!!) @ (^[Y0 : subst]: 17.70/2.87 (((!!) @ (^[Y1 : subst]: 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y2 : subst]: 17.70/2.87 (( 17.70/2.87 (comp @ 17.70/2.87 ( 17.70/2.87 comp @ 17.70/2.87 Y0 @ Y1) @ 17.70/2.87 Y2) = 17.70/2.87 (comp @ 17.70/2.87 Y0 @ 17.70/2.87 ( 17.70/2.87 comp @ 17.70/2.87 Y1 @ Y2))))))))))))) & 17.70/2.87 (((!!) @ (^[Y0 : subst]: 17.70/2.87 (((comp @ id @ Y0) = 17.70/2.87 (Y0)))))) & 17.70/2.87 (((!!) @ (^[Y0 : subst]: 17.70/2.87 (((comp @ Y0 @ id) = 17.70/2.87 (Y0)))))))) => 17.70/2.87 (((((((!!) @ (^[Y0 : term]: 17.70/2.87 (((!!) @ (^[Y1 : subst]: 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y2 : subst]: 17.70/2.87 (( 17.70/2.87 (sub @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y0 @ Y1) @ 17.70/2.87 Y2) = 17.70/2.87 (sub @ 17.70/2.87 Y0 @ 17.70/2.87 ( 17.70/2.87 comp @ 17.70/2.87 Y1 @ Y2))))))))))))) & 17.70/2.87 (((!!) @ (^[Y0 : term]: 17.70/2.87 (((sub @ Y0 @ id) = 17.70/2.87 (Y0)))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term]: 17.70/2.87 (((!!) @ (^[Y1 : term]: 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y2 : term]: 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y3 : term]: 17.70/2.87 (( 17.70/2.87 (( 17.70/2.87 (ap @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y0 @ id) @ 17.70/2.87 Y2) = 17.70/2.87 (ap @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y1 @ id) @ 17.70/2.87 Y3))) => 17.70/2.87 (( 17.70/2.87 (Y0) = 17.70/2.87 (Y1))))))))))))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term]: 17.70/2.87 (((!!) @ ( 17.70/2.87 ^[Y1 : term]: 17.70/2.87 (((!!) @ ( 17.70/2.87 ^[Y2 : term]: 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y3 : term]: 17.70/2.87 (( 17.70/2.87 (( 17.70/2.87 (ap @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y0 @ id) @ 17.70/2.87 Y2) = 17.70/2.87 (ap @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y1 @ id) @ 17.70/2.87 Y3))) => 17.70/2.87 (( 17.70/2.87 (Y2) = 17.70/2.87 (Y3))))))))))))))))) => 17.70/2.87 (((!!) @ (^[Y0 : subst > term > term]: 17.70/2.87 (((((!!) @ ( 17.70/2.87 ^[Y1 : subst]: 17.70/2.87 (((!!) @ ( 17.70/2.87 ^[Y2 : term]: 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y3 : subst]: 17.70/2.87 (( 17.70/2.87 (sub @ 17.70/2.87 ( 17.70/2.87 Y0 @ 17.70/2.87 Y1 @ Y2) @ 17.70/2.87 Y3) = 17.70/2.87 (Y0 @ 17.70/2.87 ( 17.70/2.87 comp @ 17.70/2.87 Y1 @ Y3) @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y2 @ Y3))))))))))))) => 17.70/2.87 (((!!) @ ( 17.70/2.87 ^[Y1 : 17.70/2.87 subst > term > term]: 17.70/2.87 (((( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y2 : subst]: 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y3 : term]: 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y4 : subst]: 17.70/2.87 (( 17.70/2.87 (sub @ 17.70/2.87 ( 17.70/2.87 Y1 @ 17.70/2.87 Y2 @ Y3) @ 17.70/2.87 Y4) = 17.70/2.87 (Y1 @ 17.70/2.87 ( 17.70/2.87 comp @ 17.70/2.87 Y2 @ Y4) @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y3 @ Y4))))))))))))) => 17.70/2.87 (( 17.70/2.87 (( 17.70/2.87 (lam @ 17.70/2.87 (Y0 @ 17.70/2.87 sh @ one)) = 17.70/2.87 (lam @ 17.70/2.87 (Y1 @ 17.70/2.87 sh @ one)))) => 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y2 : subst]: 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y3 : term]: 17.70/2.87 (( 17.70/2.87 (Y0 @ 17.70/2.87 Y2 @ 17.70/2.87 Y3) = 17.70/2.87 (Y1 @ 17.70/2.87 Y2 @ Y3)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), 17.70/2.87 inference('lazy_cnf_imply', [status(thm)], [zip_derived_cl41])). 17.70/2.87 thf(zip_derived_cl51, plain, 17.70/2.87 (~ (((((!!) @ (^[Y0 : subst]: 17.70/2.87 (((push @ (sub @ one @ Y0) @ (comp @ sh @ Y0)) = (Y0)))))) => 17.70/2.87 (((var @ one) => 17.70/2.87 (((((!!) @ (^[Y0 : term]: 17.70/2.87 (((var @ Y0) => (var @ (sub @ Y0 @ sh))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term > $o]: 17.70/2.87 (((Y0 @ one) => 17.70/2.87 (((((!!) @ (^[Y1 : term]: 17.70/2.87 (((var @ Y1) => 17.70/2.87 (((Y0 @ Y1) => (Y0 @ 17.70/2.87 (sub @ Y1 @ sh))))))))) => 17.70/2.87 (((!!) @ (^[Y1 : term]: 17.70/2.87 (((var @ Y1) => (Y0 @ Y1))))))))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term]: 17.70/2.87 (((!!) @ (^[Y1 : term]: 17.70/2.87 (((!!) @ (^[Y2 : term]: 17.70/2.87 (((!!) @ (^[Y3 : term]: 17.70/2.87 (((( 17.70/2.87 (ap @ 17.70/2.87 Y0 @ Y2) = 17.70/2.87 (ap @ 17.70/2.87 Y1 @ Y3))) => 17.70/2.87 (( 17.70/2.87 (Y0) = 17.70/2.87 (Y1))))))))))))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term]: 17.70/2.87 (((!!) @ (^[Y1 : term]: 17.70/2.87 (((!!) @ (^[Y2 : term]: 17.70/2.87 (((!!) @ (^[Y3 : term]: 17.70/2.87 (( 17.70/2.87 (( 17.70/2.87 (ap @ 17.70/2.87 Y0 @ 17.70/2.87 Y2) = 17.70/2.87 (ap @ 17.70/2.87 Y1 @ Y3))) => 17.70/2.87 (( 17.70/2.87 (Y2) = 17.70/2.87 (Y3))))))))))))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term]: 17.70/2.87 (((!!) @ (^[Y1 : term]: 17.70/2.87 (((((lam @ Y0) = (lam @ Y1))) => 17.70/2.87 (((Y0) = (Y1))))))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term]: 17.70/2.87 (((!!) @ (^[Y1 : term]: 17.70/2.87 (((((sub @ Y0 @ sh) = (sub @ 17.70/2.87 Y1 @ sh))) => 17.70/2.87 (((Y0) = (Y1))))))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term]: 17.70/2.87 (((!!) @ (^[Y1 : term]: 17.70/2.87 (((!!) @ (^[Y2 : term]: 17.70/2.87 (((lam @ Y0) != 17.70/2.87 (ap @ Y1 @ Y2)))))))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term]: 17.70/2.87 (((!!) @ (^[Y1 : term]: 17.70/2.87 (((~) @ (var @ 17.70/2.87 (ap @ Y0 @ Y1)))))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term]: 17.70/2.87 (((~) @ (var @ (lam @ Y0))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term > $o]: 17.70/2.87 (((((!!) @ (^[Y1 : term]: 17.70/2.87 (((var @ Y1) => 17.70/2.87 (Y0 @ Y1)))))) => 17.70/2.87 (((((!!) @ (^[Y1 : term]: 17.70/2.87 (((!!) @ ( 17.70/2.87 ^[Y2 : term]: 17.70/2.87 (((Y0 @ Y1) => 17.70/2.87 (((Y0 @ 17.70/2.87 Y2) => 17.70/2.87 (Y0 @ 17.70/2.87 (ap @ 17.70/2.87 Y1 @ Y2)))))))))))) => 17.70/2.87 (((((!!) @ (^[Y1 : term]: 17.70/2.87 (((Y0 @ Y1) => 17.70/2.87 (Y0 @ 17.70/2.87 (lam @ Y1))))))) => 17.70/2.87 (((!!) @ (^[Y1 : term]: 17.70/2.87 (Y0 @ Y1))))))))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term > $o]: 17.70/2.87 (((!!) @ (^[Y1 : term]: 17.70/2.87 (((!!) @ (^[Y2 : subst]: 17.70/2.87 (( 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y3 : term]: 17.70/2.87 (( 17.70/2.87 (var @ 17.70/2.87 Y3) => 17.70/2.87 (Y0 @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y3 @ Y2))))))) => 17.70/2.87 (( 17.70/2.87 (Y0 @ 17.70/2.87 Y1) => 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y3 : term]: 17.70/2.87 (( 17.70/2.87 (var @ 17.70/2.87 Y3) => 17.70/2.87 (Y0 @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y3 @ 17.70/2.87 ( 17.70/2.87 push @ 17.70/2.87 Y1 @ Y2))))))))))))))))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term > $o]: 17.70/2.87 (((((!!) @ (^[Y1 : term]: 17.70/2.87 (((!!) @ ( 17.70/2.87 ^[Y2 : term]: 17.70/2.87 (((Y0 @ 17.70/2.87 Y1) => 17.70/2.87 (( 17.70/2.87 (Y0 @ 17.70/2.87 Y2) => 17.70/2.87 (Y0 @ 17.70/2.87 (ap @ 17.70/2.87 Y1 @ Y2)))))))))))) => 17.70/2.87 (((((!!) @ (^[Y1 : term]: 17.70/2.87 (((((!!) @ ( 17.70/2.87 ^[Y2 : term]: 17.70/2.87 (( 17.70/2.87 (Y0 @ 17.70/2.87 Y2) => 17.70/2.87 (Y0 @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y1 @ 17.70/2.87 ( 17.70/2.87 push @ 17.70/2.87 Y2 @ id)))))))) => 17.70/2.87 (Y0 @ 17.70/2.87 (lam @ Y1))))))) => 17.70/2.87 (((!!) @ (^[Y1 : term]: 17.70/2.87 (((!!) @ ( 17.70/2.87 ^[Y2 : subst]: 17.70/2.87 (( 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y3 : term]: 17.70/2.87 (( 17.70/2.87 (var @ 17.70/2.87 Y3) => 17.70/2.87 (Y0 @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y3 @ Y2))))))) => 17.70/2.87 (Y0 @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y1 @ Y2))))))))))))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term > $o]: 17.70/2.87 (((((!!) @ (^[Y1 : term]: 17.70/2.87 (((var @ 17.70/2.87 Y1) => 17.70/2.87 (Y0 @ Y1)))))) => 17.70/2.87 (((((!!) @ (^[Y1 : term]: 17.70/2.87 (((!!) @ ( 17.70/2.87 ^[Y2 : term]: 17.70/2.87 (( 17.70/2.87 (Y0 @ 17.70/2.87 Y1) => 17.70/2.87 (( 17.70/2.87 (Y0 @ 17.70/2.87 Y2) => 17.70/2.87 (Y0 @ 17.70/2.87 ( 17.70/2.87 ap @ 17.70/2.87 Y1 @ Y2)))))))))))) => 17.70/2.87 (((((!!) @ (^[Y1 : term]: 17.70/2.87 (( 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y2 : term]: 17.70/2.87 (( 17.70/2.87 (Y0 @ 17.70/2.87 Y2) => 17.70/2.87 (Y0 @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y1 @ 17.70/2.87 ( 17.70/2.87 push @ 17.70/2.87 Y2 @ id)))))))) => 17.70/2.87 (Y0 @ 17.70/2.87 ( 17.70/2.87 lam @ Y1))))))) => 17.70/2.87 (((!!) @ (^[Y1 : term]: 17.70/2.87 (Y0 @ Y1))))))))))))) => 17.70/2.87 (((((((!!) @ (^[Y0 : subst]: 17.70/2.87 (((!!) @ (^[Y1 : subst]: 17.70/2.87 (((!!) @ ( 17.70/2.87 ^[Y2 : subst]: 17.70/2.87 (( 17.70/2.87 (comp @ 17.70/2.87 ( 17.70/2.87 comp @ 17.70/2.87 Y0 @ Y1) @ 17.70/2.87 Y2) = 17.70/2.87 (comp @ 17.70/2.87 Y0 @ 17.70/2.87 ( 17.70/2.87 comp @ 17.70/2.87 Y1 @ Y2))))))))))))) & 17.70/2.87 (((!!) @ (^[Y0 : subst]: 17.70/2.87 (((comp @ id @ Y0) = 17.70/2.87 (Y0)))))) & 17.70/2.87 (((!!) @ (^[Y0 : subst]: 17.70/2.87 (((comp @ Y0 @ id) = 17.70/2.87 (Y0)))))))) => 17.70/2.87 (((((((!!) @ (^[Y0 : term]: 17.70/2.87 (((!!) @ (^[Y1 : subst]: 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y2 : subst]: 17.70/2.87 (( 17.70/2.87 (sub @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y0 @ Y1) @ 17.70/2.87 Y2) = 17.70/2.87 (sub @ 17.70/2.87 Y0 @ 17.70/2.87 ( 17.70/2.87 comp @ 17.70/2.87 Y1 @ Y2))))))))))))) & 17.70/2.87 (((!!) @ (^[Y0 : term]: 17.70/2.87 (((sub @ Y0 @ id) = 17.70/2.87 (Y0)))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term]: 17.70/2.87 (((!!) @ (^[Y1 : term]: 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y2 : term]: 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y3 : term]: 17.70/2.87 (( 17.70/2.87 (( 17.70/2.87 (ap @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y0 @ id) @ 17.70/2.87 Y2) = 17.70/2.87 (ap @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y1 @ id) @ 17.70/2.87 Y3))) => 17.70/2.87 (( 17.70/2.87 (Y0) = 17.70/2.87 (Y1))))))))))))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term]: 17.70/2.87 (((!!) @ (^[Y1 : term]: 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y2 : term]: 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y3 : term]: 17.70/2.87 (( 17.70/2.87 (( 17.70/2.87 (ap @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y0 @ id) @ 17.70/2.87 Y2) = 17.70/2.87 (ap @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y1 @ id) @ 17.70/2.87 Y3))) => 17.70/2.87 (( 17.70/2.87 (Y2) = 17.70/2.87 (Y3))))))))))))))))) => 17.70/2.87 (((!!) @ (^[Y0 : subst > term > term]: 17.70/2.87 (((((!!) @ ( 17.70/2.87 ^[Y1 : subst]: 17.70/2.87 (((!!) @ ( 17.70/2.87 ^[Y2 : term]: 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y3 : subst]: 17.70/2.87 (( 17.70/2.87 (sub @ 17.70/2.87 ( 17.70/2.87 Y0 @ 17.70/2.87 Y1 @ Y2) @ 17.70/2.87 Y3) = 17.70/2.87 (Y0 @ 17.70/2.87 ( 17.70/2.87 comp @ 17.70/2.87 Y1 @ Y3) @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y2 @ Y3))))))))))))) => 17.70/2.87 (((!!) @ ( 17.70/2.87 ^[Y1 : subst > 17.70/2.87 term > term]: 17.70/2.87 (((((!!) @ ( 17.70/2.87 ^[Y2 : subst]: 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y3 : term]: 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y4 : subst]: 17.70/2.87 (( 17.70/2.87 (sub @ 17.70/2.87 ( 17.70/2.87 Y1 @ 17.70/2.87 Y2 @ Y3) @ 17.70/2.87 Y4) = 17.70/2.87 (Y1 @ 17.70/2.87 ( 17.70/2.87 comp @ 17.70/2.87 Y2 @ Y4) @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y3 @ Y4))))))))))))) => 17.70/2.87 (((( 17.70/2.87 (lam @ 17.70/2.87 (Y0 @ 17.70/2.87 sh @ one)) = 17.70/2.87 (lam @ 17.70/2.87 (Y1 @ 17.70/2.87 sh @ one)))) => 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y2 : subst]: 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y3 : term]: 17.70/2.87 (( 17.70/2.87 (Y0 @ 17.70/2.87 Y2 @ 17.70/2.87 Y3) = 17.70/2.87 (Y1 @ 17.70/2.87 Y2 @ Y3)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), 17.70/2.87 inference('lazy_cnf_imply', [status(thm)], [zip_derived_cl46])). 17.70/2.87 thf(zip_derived_cl57, plain, 17.70/2.87 (~ (((var @ one) => 17.70/2.87 (((((!!) @ (^[Y0 : term]: (((var @ Y0) => (var @ (sub @ Y0 @ sh))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term > $o]: 17.70/2.87 (((Y0 @ one) => 17.70/2.87 (((((!!) @ (^[Y1 : term]: 17.70/2.87 (((var @ Y1) => 17.70/2.87 (((Y0 @ Y1) => (Y0 @ 17.70/2.87 (sub @ Y1 @ sh))))))))) => 17.70/2.87 (((!!) @ (^[Y1 : term]: 17.70/2.87 (((var @ Y1) => (Y0 @ Y1))))))))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term]: 17.70/2.87 (((!!) @ (^[Y1 : term]: 17.70/2.87 (((!!) @ (^[Y2 : term]: 17.70/2.87 (((!!) @ (^[Y3 : term]: 17.70/2.87 (((((ap @ 17.70/2.87 Y0 @ Y2) = 17.70/2.87 (ap @ 17.70/2.87 Y1 @ Y3))) => 17.70/2.87 (((Y0) = 17.70/2.87 (Y1))))))))))))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term]: 17.70/2.87 (((!!) @ (^[Y1 : term]: 17.70/2.87 (((!!) @ (^[Y2 : term]: 17.70/2.87 (((!!) @ (^[Y3 : term]: 17.70/2.87 (((( 17.70/2.87 (ap @ 17.70/2.87 Y0 @ Y2) = 17.70/2.87 (ap @ 17.70/2.87 Y1 @ Y3))) => 17.70/2.87 (( 17.70/2.87 (Y2) = 17.70/2.87 (Y3))))))))))))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term]: 17.70/2.87 (((!!) @ (^[Y1 : term]: 17.70/2.87 (((((lam @ Y0) = (lam @ Y1))) => 17.70/2.87 (((Y0) = (Y1))))))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term]: 17.70/2.87 (((!!) @ (^[Y1 : term]: 17.70/2.87 (((((sub @ Y0 @ sh) = (sub @ 17.70/2.87 Y1 @ sh))) => 17.70/2.87 (((Y0) = (Y1))))))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term]: 17.70/2.87 (((!!) @ (^[Y1 : term]: 17.70/2.87 (((!!) @ (^[Y2 : term]: 17.70/2.87 (((lam @ Y0) != 17.70/2.87 (ap @ Y1 @ Y2)))))))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term]: 17.70/2.87 (((!!) @ (^[Y1 : term]: 17.70/2.87 (((~) @ (var @ 17.70/2.87 (ap @ Y0 @ Y1)))))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term]: 17.70/2.87 (((~) @ (var @ (lam @ Y0))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term > $o]: 17.70/2.87 (((((!!) @ (^[Y1 : term]: 17.70/2.87 (((var @ Y1) => (Y0 @ 17.70/2.87 Y1)))))) => 17.70/2.87 (((((!!) @ (^[Y1 : term]: 17.70/2.87 (((!!) @ (^[Y2 : term]: 17.70/2.87 (( 17.70/2.87 (Y0 @ 17.70/2.87 Y1) => 17.70/2.87 (( 17.70/2.87 (Y0 @ 17.70/2.87 Y2) => 17.70/2.87 (Y0 @ 17.70/2.87 ( 17.70/2.87 ap @ 17.70/2.87 Y1 @ Y2)))))))))))) => 17.70/2.87 (((((!!) @ (^[Y1 : term]: 17.70/2.87 (((Y0 @ Y1) => 17.70/2.87 (Y0 @ 17.70/2.87 (lam @ Y1))))))) => 17.70/2.87 (((!!) @ (^[Y1 : term]: 17.70/2.87 (Y0 @ Y1))))))))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term > $o]: 17.70/2.87 (((!!) @ (^[Y1 : term]: 17.70/2.87 (((!!) @ (^[Y2 : subst]: 17.70/2.87 (( 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y3 : term]: 17.70/2.87 (( 17.70/2.87 (var @ 17.70/2.87 Y3) => 17.70/2.87 (Y0 @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y3 @ Y2))))))) => 17.70/2.87 (( 17.70/2.87 (Y0 @ 17.70/2.87 Y1) => 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y3 : term]: 17.70/2.87 (( 17.70/2.87 (var @ 17.70/2.87 Y3) => 17.70/2.87 (Y0 @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y3 @ 17.70/2.87 ( 17.70/2.87 push @ 17.70/2.87 Y1 @ Y2))))))))))))))))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term > $o]: 17.70/2.87 (((((!!) @ (^[Y1 : term]: 17.70/2.87 (((!!) @ ( 17.70/2.87 ^[Y2 : term]: 17.70/2.87 (((Y0 @ Y1) => 17.70/2.87 (((Y0 @ 17.70/2.87 Y2) => 17.70/2.87 (Y0 @ 17.70/2.87 (ap @ 17.70/2.87 Y1 @ Y2)))))))))))) => 17.70/2.87 (((((!!) @ (^[Y1 : term]: 17.70/2.87 (((((!!) @ ( 17.70/2.87 ^[Y2 : term]: 17.70/2.87 (( 17.70/2.87 (Y0 @ 17.70/2.87 Y2) => 17.70/2.87 (Y0 @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y1 @ 17.70/2.87 ( 17.70/2.87 push @ 17.70/2.87 Y2 @ id)))))))) => 17.70/2.87 (Y0 @ 17.70/2.87 (lam @ Y1))))))) => 17.70/2.87 (((!!) @ (^[Y1 : term]: 17.70/2.87 (((!!) @ ( 17.70/2.87 ^[Y2 : subst]: 17.70/2.87 (((( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y3 : term]: 17.70/2.87 (( 17.70/2.87 (var @ 17.70/2.87 Y3) => 17.70/2.87 (Y0 @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y3 @ Y2))))))) => 17.70/2.87 (Y0 @ 17.70/2.87 (sub @ 17.70/2.87 Y1 @ Y2))))))))))))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term > $o]: 17.70/2.87 (((((!!) @ (^[Y1 : term]: 17.70/2.87 (((var @ Y1) => 17.70/2.87 (Y0 @ Y1)))))) => 17.70/2.87 (((((!!) @ (^[Y1 : term]: 17.70/2.87 (((!!) @ ( 17.70/2.87 ^[Y2 : term]: 17.70/2.87 (( 17.70/2.87 (Y0 @ 17.70/2.87 Y1) => 17.70/2.87 (( 17.70/2.87 (Y0 @ 17.70/2.87 Y2) => 17.70/2.87 (Y0 @ 17.70/2.87 ( 17.70/2.87 ap @ 17.70/2.87 Y1 @ Y2)))))))))))) => 17.70/2.87 (((((!!) @ (^[Y1 : term]: 17.70/2.87 (((( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y2 : term]: 17.70/2.87 (( 17.70/2.87 (Y0 @ 17.70/2.87 Y2) => 17.70/2.87 (Y0 @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y1 @ 17.70/2.87 ( 17.70/2.87 push @ 17.70/2.87 Y2 @ id)))))))) => 17.70/2.87 (Y0 @ 17.70/2.87 (lam @ Y1))))))) => 17.70/2.87 (((!!) @ (^[Y1 : term]: 17.70/2.87 (Y0 @ Y1))))))))))))) => 17.70/2.87 (((((((!!) @ (^[Y0 : subst]: 17.70/2.87 (((!!) @ (^[Y1 : subst]: 17.70/2.87 (((!!) @ ( 17.70/2.87 ^[Y2 : subst]: 17.70/2.87 (( 17.70/2.87 (comp @ 17.70/2.87 ( 17.70/2.87 comp @ 17.70/2.87 Y0 @ Y1) @ 17.70/2.87 Y2) = 17.70/2.87 (comp @ 17.70/2.87 Y0 @ 17.70/2.87 ( 17.70/2.87 comp @ 17.70/2.87 Y1 @ Y2))))))))))))) & 17.70/2.87 (((!!) @ (^[Y0 : subst]: 17.70/2.87 (((comp @ id @ Y0) = (Y0)))))) & 17.70/2.87 (((!!) @ (^[Y0 : subst]: 17.70/2.87 (((comp @ Y0 @ id) = (Y0)))))))) => 17.70/2.87 (((((((!!) @ (^[Y0 : term]: 17.70/2.87 (((!!) @ (^[Y1 : subst]: 17.70/2.87 (((!!) @ ( 17.70/2.87 ^[Y2 : subst]: 17.70/2.87 (( 17.70/2.87 (sub @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y0 @ Y1) @ 17.70/2.87 Y2) = 17.70/2.87 (sub @ 17.70/2.87 Y0 @ 17.70/2.87 ( 17.70/2.87 comp @ 17.70/2.87 Y1 @ Y2))))))))))))) & 17.70/2.87 (((!!) @ (^[Y0 : term]: 17.70/2.87 (((sub @ Y0 @ id) = (Y0)))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term]: 17.70/2.87 (((!!) @ (^[Y1 : term]: 17.70/2.87 (((!!) @ ( 17.70/2.87 ^[Y2 : term]: 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y3 : term]: 17.70/2.87 (( 17.70/2.87 (( 17.70/2.87 (ap @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y0 @ id) @ 17.70/2.87 Y2) = 17.70/2.87 (ap @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y1 @ id) @ 17.70/2.87 Y3))) => 17.70/2.87 (( 17.70/2.87 (Y0) = 17.70/2.87 (Y1))))))))))))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term]: 17.70/2.87 (((!!) @ (^[Y1 : term]: 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y2 : term]: 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y3 : term]: 17.70/2.87 (( 17.70/2.87 (( 17.70/2.87 (ap @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y0 @ id) @ 17.70/2.87 Y2) = 17.70/2.87 (ap @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y1 @ id) @ 17.70/2.87 Y3))) => 17.70/2.87 (( 17.70/2.87 (Y2) = 17.70/2.87 (Y3))))))))))))))))) => 17.70/2.87 (((!!) @ (^[Y0 : subst > term > term]: 17.70/2.87 (((((!!) @ (^[Y1 : subst]: 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y2 : term]: 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y3 : subst]: 17.70/2.87 (( 17.70/2.87 (sub @ 17.70/2.87 ( 17.70/2.87 Y0 @ 17.70/2.87 Y1 @ Y2) @ 17.70/2.87 Y3) = 17.70/2.87 (Y0 @ 17.70/2.87 ( 17.70/2.87 comp @ 17.70/2.87 Y1 @ Y3) @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y2 @ Y3))))))))))))) => 17.70/2.87 (((!!) @ (^[Y1 : 17.70/2.87 subst > 17.70/2.87 term > term]: 17.70/2.87 (( 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y2 : subst]: 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y3 : term]: 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y4 : subst]: 17.70/2.87 (( 17.70/2.87 (sub @ 17.70/2.87 ( 17.70/2.87 Y1 @ 17.70/2.87 Y2 @ Y3) @ 17.70/2.87 Y4) = 17.70/2.87 (Y1 @ 17.70/2.87 ( 17.70/2.87 comp @ 17.70/2.87 Y2 @ Y4) @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y3 @ Y4))))))))))))) => 17.70/2.87 (( 17.70/2.87 (( 17.70/2.87 (lam @ 17.70/2.87 ( 17.70/2.87 Y0 @ 17.70/2.87 sh @ one)) = 17.70/2.87 (lam @ 17.70/2.87 ( 17.70/2.87 Y1 @ 17.70/2.87 sh @ one)))) => 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y2 : subst]: 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y3 : term]: 17.70/2.87 (( 17.70/2.87 (Y0 @ 17.70/2.87 Y2 @ 17.70/2.87 Y3) = 17.70/2.87 (Y1 @ 17.70/2.87 Y2 @ Y3)))))))))))))))))))))))))))))))))))))))))))))))))))))))))), 17.70/2.87 inference('lazy_cnf_imply', [status(thm)], [zip_derived_cl51])). 17.70/2.87 thf(zip_derived_cl61, plain, 17.70/2.87 (~ (((((!!) @ (^[Y0 : term]: (((var @ Y0) => (var @ (sub @ Y0 @ sh))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term > $o]: 17.70/2.87 (((Y0 @ one) => 17.70/2.87 (((((!!) @ (^[Y1 : term]: 17.70/2.87 (((var @ Y1) => 17.70/2.87 (((Y0 @ Y1) => (Y0 @ 17.70/2.87 (sub @ Y1 @ sh))))))))) => 17.70/2.87 (((!!) @ (^[Y1 : term]: 17.70/2.87 (((var @ Y1) => (Y0 @ Y1))))))))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term]: 17.70/2.87 (((!!) @ (^[Y1 : term]: 17.70/2.87 (((!!) @ (^[Y2 : term]: 17.70/2.87 (((!!) @ (^[Y3 : term]: 17.70/2.87 (((((ap @ Y0 @ 17.70/2.87 Y2) = (ap @ 17.70/2.87 Y1 @ Y3))) => 17.70/2.87 (((Y0) = (Y1))))))))))))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term]: 17.70/2.87 (((!!) @ (^[Y1 : term]: 17.70/2.87 (((!!) @ (^[Y2 : term]: 17.70/2.87 (((!!) @ (^[Y3 : term]: 17.70/2.87 (((((ap @ 17.70/2.87 Y0 @ Y2) = 17.70/2.87 (ap @ 17.70/2.87 Y1 @ Y3))) => 17.70/2.87 (((Y2) = 17.70/2.87 (Y3))))))))))))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term]: 17.70/2.87 (((!!) @ (^[Y1 : term]: 17.70/2.87 (((((lam @ Y0) = (lam @ Y1))) => 17.70/2.87 (((Y0) = (Y1))))))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term]: 17.70/2.87 (((!!) @ (^[Y1 : term]: 17.70/2.87 (((((sub @ Y0 @ sh) = (sub @ Y1 @ 17.70/2.87 sh))) => 17.70/2.87 (((Y0) = (Y1))))))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term]: 17.70/2.87 (((!!) @ (^[Y1 : term]: 17.70/2.87 (((!!) @ (^[Y2 : term]: 17.70/2.87 (((lam @ Y0) != 17.70/2.87 (ap @ Y1 @ Y2)))))))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term]: 17.70/2.87 (((!!) @ (^[Y1 : term]: 17.70/2.87 (((~) @ (var @ (ap @ Y0 @ Y1)))))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term]: (((~) @ (var @ (lam @ Y0))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term > $o]: 17.70/2.87 (((((!!) @ (^[Y1 : term]: 17.70/2.87 (((var @ Y1) => (Y0 @ 17.70/2.87 Y1)))))) => 17.70/2.87 (((((!!) @ (^[Y1 : term]: 17.70/2.87 (((!!) @ (^[Y2 : term]: 17.70/2.87 (( 17.70/2.87 (Y0 @ 17.70/2.87 Y1) => 17.70/2.87 (( 17.70/2.87 (Y0 @ 17.70/2.87 Y2) => 17.70/2.87 (Y0 @ 17.70/2.87 ( 17.70/2.87 ap @ 17.70/2.87 Y1 @ Y2)))))))))))) => 17.70/2.87 (((((!!) @ (^[Y1 : term]: 17.70/2.87 (((Y0 @ Y1) => 17.70/2.87 (Y0 @ (lam @ Y1))))))) => 17.70/2.87 (((!!) @ (^[Y1 : term]: 17.70/2.87 (Y0 @ Y1))))))))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term > $o]: 17.70/2.87 (((!!) @ (^[Y1 : term]: 17.70/2.87 (((!!) @ (^[Y2 : subst]: 17.70/2.87 (((( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y3 : term]: 17.70/2.87 (( 17.70/2.87 (var @ 17.70/2.87 Y3) => 17.70/2.87 (Y0 @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y3 @ Y2))))))) => 17.70/2.87 (( 17.70/2.87 (Y0 @ 17.70/2.87 Y1) => 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y3 : term]: 17.70/2.87 (( 17.70/2.87 (var @ 17.70/2.87 Y3) => 17.70/2.87 (Y0 @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y3 @ 17.70/2.87 ( 17.70/2.87 push @ 17.70/2.87 Y1 @ Y2))))))))))))))))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term > $o]: 17.70/2.87 (((((!!) @ (^[Y1 : term]: 17.70/2.87 (((!!) @ (^[Y2 : term]: 17.70/2.87 (( 17.70/2.87 (Y0 @ 17.70/2.87 Y1) => 17.70/2.87 (( 17.70/2.87 (Y0 @ 17.70/2.87 Y2) => 17.70/2.87 (Y0 @ 17.70/2.87 ( 17.70/2.87 ap @ 17.70/2.87 Y1 @ Y2)))))))))))) => 17.70/2.87 (((((!!) @ (^[Y1 : term]: 17.70/2.87 (((((!!) @ ( 17.70/2.87 ^[Y2 : term]: 17.70/2.87 (((Y0 @ 17.70/2.87 Y2) => 17.70/2.87 (Y0 @ 17.70/2.87 (sub @ 17.70/2.87 Y1 @ 17.70/2.87 ( 17.70/2.87 push @ 17.70/2.87 Y2 @ id)))))))) => 17.70/2.87 (Y0 @ 17.70/2.87 (lam @ Y1))))))) => 17.70/2.87 (((!!) @ (^[Y1 : term]: 17.70/2.87 (((!!) @ ( 17.70/2.87 ^[Y2 : subst]: 17.70/2.87 (((((!!) @ ( 17.70/2.87 ^[Y3 : term]: 17.70/2.87 (( 17.70/2.87 (var @ 17.70/2.87 Y3) => 17.70/2.87 (Y0 @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y3 @ Y2))))))) => 17.70/2.87 (Y0 @ 17.70/2.87 (sub @ Y1 @ 17.70/2.87 Y2))))))))))))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term > $o]: 17.70/2.87 (((((!!) @ (^[Y1 : term]: 17.70/2.87 (((var @ Y1) => 17.70/2.87 (Y0 @ Y1)))))) => 17.70/2.87 (((((!!) @ (^[Y1 : term]: 17.70/2.87 (((!!) @ ( 17.70/2.87 ^[Y2 : term]: 17.70/2.87 (((Y0 @ 17.70/2.87 Y1) => 17.70/2.87 (( 17.70/2.87 (Y0 @ 17.70/2.87 Y2) => 17.70/2.87 (Y0 @ 17.70/2.87 (ap @ 17.70/2.87 Y1 @ Y2)))))))))))) => 17.70/2.87 (((((!!) @ (^[Y1 : term]: 17.70/2.87 (((((!!) @ ( 17.70/2.87 ^[Y2 : term]: 17.70/2.87 (( 17.70/2.87 (Y0 @ 17.70/2.87 Y2) => 17.70/2.87 (Y0 @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y1 @ 17.70/2.87 ( 17.70/2.87 push @ 17.70/2.87 Y2 @ id)))))))) => 17.70/2.87 (Y0 @ 17.70/2.87 (lam @ Y1))))))) => 17.70/2.87 (((!!) @ (^[Y1 : term]: 17.70/2.87 (Y0 @ Y1))))))))))))) => 17.70/2.87 (((((((!!) @ (^[Y0 : subst]: 17.70/2.87 (((!!) @ (^[Y1 : subst]: 17.70/2.87 (((!!) @ ( 17.70/2.87 ^[Y2 : subst]: 17.70/2.87 (((comp @ 17.70/2.87 (comp @ 17.70/2.87 Y0 @ Y1) @ 17.70/2.87 Y2) = 17.70/2.87 (comp @ 17.70/2.87 Y0 @ 17.70/2.87 (comp @ 17.70/2.87 Y1 @ Y2))))))))))))) & 17.70/2.87 (((!!) @ (^[Y0 : subst]: 17.70/2.87 (((comp @ id @ Y0) = (Y0)))))) & 17.70/2.87 (((!!) @ (^[Y0 : subst]: 17.70/2.87 (((comp @ Y0 @ id) = (Y0)))))))) => 17.70/2.87 (((((((!!) @ (^[Y0 : term]: 17.70/2.87 (((!!) @ (^[Y1 : subst]: 17.70/2.87 (((!!) @ ( 17.70/2.87 ^[Y2 : subst]: 17.70/2.87 (( 17.70/2.87 (sub @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y0 @ Y1) @ 17.70/2.87 Y2) = 17.70/2.87 (sub @ 17.70/2.87 Y0 @ 17.70/2.87 ( 17.70/2.87 comp @ 17.70/2.87 Y1 @ Y2))))))))))))) & 17.70/2.87 (((!!) @ (^[Y0 : term]: 17.70/2.87 (((sub @ Y0 @ id) = (Y0)))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term]: 17.70/2.87 (((!!) @ (^[Y1 : term]: 17.70/2.87 (((!!) @ ( 17.70/2.87 ^[Y2 : term]: 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y3 : term]: 17.70/2.87 (( 17.70/2.87 (( 17.70/2.87 (ap @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y0 @ id) @ 17.70/2.87 Y2) = 17.70/2.87 (ap @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y1 @ id) @ 17.70/2.87 Y3))) => 17.70/2.87 (( 17.70/2.87 (Y0) = 17.70/2.87 (Y1))))))))))))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term]: 17.70/2.87 (((!!) @ (^[Y1 : term]: 17.70/2.87 (((!!) @ ( 17.70/2.87 ^[Y2 : term]: 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y3 : term]: 17.70/2.87 (( 17.70/2.87 (( 17.70/2.87 (ap @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y0 @ id) @ 17.70/2.87 Y2) = 17.70/2.87 (ap @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y1 @ id) @ 17.70/2.87 Y3))) => 17.70/2.87 (( 17.70/2.87 (Y2) = 17.70/2.87 (Y3))))))))))))))))) => 17.70/2.87 (((!!) @ (^[Y0 : subst > term > term]: 17.70/2.87 (((((!!) @ (^[Y1 : subst]: 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y2 : term]: 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y3 : subst]: 17.70/2.87 (( 17.70/2.87 (sub @ 17.70/2.87 ( 17.70/2.87 Y0 @ 17.70/2.87 Y1 @ Y2) @ 17.70/2.87 Y3) = 17.70/2.87 (Y0 @ 17.70/2.87 ( 17.70/2.87 comp @ 17.70/2.87 Y1 @ Y3) @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y2 @ Y3))))))))))))) => 17.70/2.87 (((!!) @ (^[Y1 : 17.70/2.87 subst > 17.70/2.87 term > term]: 17.70/2.87 (( 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y2 : subst]: 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y3 : term]: 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y4 : subst]: 17.70/2.87 (( 17.70/2.87 (sub @ 17.70/2.87 ( 17.70/2.87 Y1 @ 17.70/2.87 Y2 @ Y3) @ 17.70/2.87 Y4) = 17.70/2.87 (Y1 @ 17.70/2.87 ( 17.70/2.87 comp @ 17.70/2.87 Y2 @ Y4) @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y3 @ Y4))))))))))))) => 17.70/2.87 (( 17.70/2.87 (( 17.70/2.87 (lam @ 17.70/2.87 ( 17.70/2.87 Y0 @ 17.70/2.87 sh @ one)) = 17.70/2.87 (lam @ 17.70/2.87 ( 17.70/2.87 Y1 @ 17.70/2.87 sh @ one)))) => 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y2 : subst]: 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y3 : term]: 17.70/2.87 (( 17.70/2.87 (Y0 @ 17.70/2.87 Y2 @ 17.70/2.87 Y3) = 17.70/2.87 (Y1 @ 17.70/2.87 Y2 @ Y3)))))))))))))))))))))))))))))))))))))))))))))))))))))))), 17.70/2.87 inference('lazy_cnf_imply', [status(thm)], [zip_derived_cl57])). 17.70/2.87 thf(zip_derived_cl64, plain, 17.70/2.87 (~ (((((!!) @ (^[Y0 : term > $o]: 17.70/2.87 (((Y0 @ one) => 17.70/2.87 (((((!!) @ (^[Y1 : term]: 17.70/2.87 (((var @ Y1) => 17.70/2.87 (((Y0 @ Y1) => (Y0 @ (sub @ Y1 @ sh))))))))) => 17.70/2.87 (((!!) @ (^[Y1 : term]: (((var @ Y1) => (Y0 @ Y1))))))))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term]: 17.70/2.87 (((!!) @ (^[Y1 : term]: 17.70/2.87 (((!!) @ (^[Y2 : term]: 17.70/2.87 (((!!) @ (^[Y3 : term]: 17.70/2.87 (((((ap @ Y0 @ 17.70/2.87 Y2) = (ap @ 17.70/2.87 Y1 @ Y3))) => 17.70/2.87 (((Y0) = (Y1))))))))))))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term]: 17.70/2.87 (((!!) @ (^[Y1 : term]: 17.70/2.87 (((!!) @ (^[Y2 : term]: 17.70/2.87 (((!!) @ (^[Y3 : term]: 17.70/2.87 (((((ap @ Y0 @ 17.70/2.87 Y2) = (ap @ 17.70/2.87 Y1 @ Y3))) => 17.70/2.87 (((Y2) = (Y3))))))))))))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term]: 17.70/2.87 (((!!) @ (^[Y1 : term]: 17.70/2.87 (((((lam @ Y0) = (lam @ Y1))) => 17.70/2.87 (((Y0) = (Y1))))))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term]: 17.70/2.87 (((!!) @ (^[Y1 : term]: 17.70/2.87 (((((sub @ Y0 @ sh) = (sub @ Y1 @ 17.70/2.87 sh))) => 17.70/2.87 (((Y0) = (Y1))))))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term]: 17.70/2.87 (((!!) @ (^[Y1 : term]: 17.70/2.87 (((!!) @ (^[Y2 : term]: 17.70/2.87 (((lam @ Y0) != (ap @ 17.70/2.87 Y1 @ Y2)))))))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term]: 17.70/2.87 (((!!) @ (^[Y1 : term]: 17.70/2.87 (((~) @ (var @ (ap @ Y0 @ Y1)))))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term]: (((~) @ (var @ (lam @ Y0))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term > $o]: 17.70/2.87 (((((!!) @ (^[Y1 : term]: 17.70/2.87 (((var @ Y1) => (Y0 @ Y1)))))) => 17.70/2.87 (((((!!) @ (^[Y1 : term]: 17.70/2.87 (((!!) @ (^[Y2 : term]: 17.70/2.87 (((Y0 @ 17.70/2.87 Y1) => 17.70/2.87 (( 17.70/2.87 (Y0 @ 17.70/2.87 Y2) => 17.70/2.87 (Y0 @ 17.70/2.87 (ap @ 17.70/2.87 Y1 @ Y2)))))))))))) => 17.70/2.87 (((((!!) @ (^[Y1 : term]: 17.70/2.87 (((Y0 @ Y1) => (Y0 @ 17.70/2.87 (lam @ Y1))))))) => 17.70/2.87 (((!!) @ (^[Y1 : term]: (Y0 @ Y1))))))))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term > $o]: 17.70/2.87 (((!!) @ (^[Y1 : term]: 17.70/2.87 (((!!) @ (^[Y2 : subst]: 17.70/2.87 (((((!!) @ ( 17.70/2.87 ^[Y3 : term]: 17.70/2.87 (( 17.70/2.87 (var @ 17.70/2.87 Y3) => 17.70/2.87 (Y0 @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y3 @ Y2))))))) => 17.70/2.87 (((Y0 @ 17.70/2.87 Y1) => 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y3 : term]: 17.70/2.87 (( 17.70/2.87 (var @ 17.70/2.87 Y3) => 17.70/2.87 (Y0 @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y3 @ 17.70/2.87 ( 17.70/2.87 push @ 17.70/2.87 Y1 @ Y2))))))))))))))))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term > $o]: 17.70/2.87 (((((!!) @ (^[Y1 : term]: 17.70/2.87 (((!!) @ (^[Y2 : term]: 17.70/2.87 (( 17.70/2.87 (Y0 @ 17.70/2.87 Y1) => 17.70/2.87 (( 17.70/2.87 (Y0 @ 17.70/2.87 Y2) => 17.70/2.87 (Y0 @ 17.70/2.87 ( 17.70/2.87 ap @ 17.70/2.87 Y1 @ Y2)))))))))))) => 17.70/2.87 (((((!!) @ (^[Y1 : term]: 17.70/2.87 (((((!!) @ ( 17.70/2.87 ^[Y2 : term]: 17.70/2.87 (((Y0 @ Y2) => 17.70/2.87 (Y0 @ 17.70/2.87 (sub @ Y1 @ 17.70/2.87 (push @ 17.70/2.87 Y2 @ id)))))))) => 17.70/2.87 (Y0 @ (lam @ Y1))))))) => 17.70/2.87 (((!!) @ (^[Y1 : term]: 17.70/2.87 (((!!) @ (^[Y2 : subst]: 17.70/2.87 (( 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y3 : term]: 17.70/2.87 (( 17.70/2.87 (var @ 17.70/2.87 Y3) => 17.70/2.87 (Y0 @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y3 @ Y2))))))) => 17.70/2.87 (Y0 @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y1 @ Y2))))))))))))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term > $o]: 17.70/2.87 (((((!!) @ (^[Y1 : term]: 17.70/2.87 (((var @ Y1) => 17.70/2.87 (Y0 @ Y1)))))) => 17.70/2.87 (((((!!) @ (^[Y1 : term]: 17.70/2.87 (((!!) @ ( 17.70/2.87 ^[Y2 : term]: 17.70/2.87 (((Y0 @ Y1) => 17.70/2.87 (((Y0 @ 17.70/2.87 Y2) => 17.70/2.87 (Y0 @ 17.70/2.87 (ap @ 17.70/2.87 Y1 @ Y2)))))))))))) => 17.70/2.87 (((((!!) @ (^[Y1 : term]: 17.70/2.87 (((((!!) @ ( 17.70/2.87 ^[Y2 : term]: 17.70/2.87 (( 17.70/2.87 (Y0 @ 17.70/2.87 Y2) => 17.70/2.87 (Y0 @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y1 @ 17.70/2.87 ( 17.70/2.87 push @ 17.70/2.87 Y2 @ id)))))))) => 17.70/2.87 (Y0 @ 17.70/2.87 (lam @ Y1))))))) => 17.70/2.87 (((!!) @ (^[Y1 : term]: 17.70/2.87 (Y0 @ Y1))))))))))))) => 17.70/2.87 (((((((!!) @ (^[Y0 : subst]: 17.70/2.87 (((!!) @ (^[Y1 : subst]: 17.70/2.87 (((!!) @ ( 17.70/2.87 ^[Y2 : subst]: 17.70/2.87 (((comp @ 17.70/2.87 (comp @ 17.70/2.87 Y0 @ Y1) @ 17.70/2.87 Y2) = 17.70/2.87 (comp @ 17.70/2.87 Y0 @ 17.70/2.87 (comp @ 17.70/2.87 Y1 @ Y2))))))))))))) & 17.70/2.87 (((!!) @ (^[Y0 : subst]: 17.70/2.87 (((comp @ id @ Y0) = (Y0)))))) & 17.70/2.87 (((!!) @ (^[Y0 : subst]: 17.70/2.87 (((comp @ Y0 @ id) = (Y0)))))))) => 17.70/2.87 (((((((!!) @ (^[Y0 : term]: 17.70/2.87 (((!!) @ (^[Y1 : subst]: 17.70/2.87 (((!!) @ ( 17.70/2.87 ^[Y2 : subst]: 17.70/2.87 (((sub @ 17.70/2.87 (sub @ 17.70/2.87 Y0 @ Y1) @ 17.70/2.87 Y2) = 17.70/2.87 (sub @ 17.70/2.87 Y0 @ 17.70/2.87 (comp @ 17.70/2.87 Y1 @ Y2))))))))))))) & 17.70/2.87 (((!!) @ (^[Y0 : term]: 17.70/2.87 (((sub @ Y0 @ id) = (Y0)))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term]: 17.70/2.87 (((!!) @ (^[Y1 : term]: 17.70/2.87 (((!!) @ ( 17.70/2.87 ^[Y2 : term]: 17.70/2.87 (((!!) @ ( 17.70/2.87 ^[Y3 : term]: 17.70/2.87 (( 17.70/2.87 (( 17.70/2.87 (ap @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y0 @ id) @ 17.70/2.87 Y2) = 17.70/2.87 (ap @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y1 @ id) @ 17.70/2.87 Y3))) => 17.70/2.87 (( 17.70/2.87 (Y0) = 17.70/2.87 (Y1))))))))))))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term]: 17.70/2.87 (((!!) @ (^[Y1 : term]: 17.70/2.87 (((!!) @ ( 17.70/2.87 ^[Y2 : term]: 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y3 : term]: 17.70/2.87 (( 17.70/2.87 (( 17.70/2.87 (ap @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y0 @ id) @ 17.70/2.87 Y2) = 17.70/2.87 (ap @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y1 @ id) @ 17.70/2.87 Y3))) => 17.70/2.87 (( 17.70/2.87 (Y2) = 17.70/2.87 (Y3))))))))))))))))) => 17.70/2.87 (((!!) @ (^[Y0 : subst > term > term]: 17.70/2.87 (((((!!) @ (^[Y1 : subst]: 17.70/2.87 (((!!) @ ( 17.70/2.87 ^[Y2 : term]: 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y3 : subst]: 17.70/2.87 (( 17.70/2.87 (sub @ 17.70/2.87 ( 17.70/2.87 Y0 @ 17.70/2.87 Y1 @ Y2) @ 17.70/2.87 Y3) = 17.70/2.87 (Y0 @ 17.70/2.87 ( 17.70/2.87 comp @ 17.70/2.87 Y1 @ Y3) @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y2 @ Y3))))))))))))) => 17.70/2.87 (((!!) @ (^[Y1 : 17.70/2.87 subst > term > term]: 17.70/2.87 (((( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y2 : subst]: 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y3 : term]: 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y4 : subst]: 17.70/2.87 (( 17.70/2.87 (sub @ 17.70/2.87 ( 17.70/2.87 Y1 @ 17.70/2.87 Y2 @ Y3) @ 17.70/2.87 Y4) = 17.70/2.87 (Y1 @ 17.70/2.87 ( 17.70/2.87 comp @ 17.70/2.87 Y2 @ Y4) @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y3 @ Y4))))))))))))) => 17.70/2.87 (( 17.70/2.87 (( 17.70/2.87 (lam @ 17.70/2.87 (Y0 @ 17.70/2.87 sh @ one)) = 17.70/2.87 (lam @ 17.70/2.87 (Y1 @ 17.70/2.87 sh @ one)))) => 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y2 : subst]: 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y3 : term]: 17.70/2.87 (( 17.70/2.87 (Y0 @ 17.70/2.87 Y2 @ 17.70/2.87 Y3) = 17.70/2.87 (Y1 @ 17.70/2.87 Y2 @ Y3)))))))))))))))))))))))))))))))))))))))))))))))))))))), 17.70/2.87 inference('lazy_cnf_imply', [status(thm)], [zip_derived_cl61])). 17.70/2.87 thf(zip_derived_cl67, plain, 17.70/2.87 (~ (((((!!) @ (^[Y0 : term]: 17.70/2.87 (((!!) @ (^[Y1 : term]: 17.70/2.87 (((!!) @ (^[Y2 : term]: 17.70/2.87 (((!!) @ (^[Y3 : term]: 17.70/2.87 (((((ap @ Y0 @ Y2) = 17.70/2.87 (ap @ Y1 @ Y3))) => 17.70/2.87 (((Y0) = (Y1))))))))))))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term]: 17.70/2.87 (((!!) @ (^[Y1 : term]: 17.70/2.87 (((!!) @ (^[Y2 : term]: 17.70/2.87 (((!!) @ (^[Y3 : term]: 17.70/2.87 (((((ap @ Y0 @ 17.70/2.87 Y2) = (ap @ 17.70/2.87 Y1 @ Y3))) => 17.70/2.87 (((Y2) = (Y3))))))))))))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term]: 17.70/2.87 (((!!) @ (^[Y1 : term]: 17.70/2.87 (((((lam @ Y0) = (lam @ Y1))) => 17.70/2.87 (((Y0) = (Y1))))))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term]: 17.70/2.87 (((!!) @ (^[Y1 : term]: 17.70/2.87 (((((sub @ Y0 @ sh) = (sub @ Y1 @ sh))) => 17.70/2.87 (((Y0) = (Y1))))))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term]: 17.70/2.87 (((!!) @ (^[Y1 : term]: 17.70/2.87 (((!!) @ (^[Y2 : term]: 17.70/2.87 (((lam @ Y0) != (ap @ 17.70/2.87 Y1 @ Y2)))))))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term]: 17.70/2.87 (((!!) @ (^[Y1 : term]: 17.70/2.87 (((~) @ (var @ (ap @ Y0 @ Y1)))))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term]: (((~) @ (var @ (lam @ Y0))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term > $o]: 17.70/2.87 (((((!!) @ (^[Y1 : term]: 17.70/2.87 (((var @ Y1) => (Y0 @ Y1)))))) => 17.70/2.87 (((((!!) @ (^[Y1 : term]: 17.70/2.87 (((!!) @ (^[Y2 : term]: 17.70/2.87 (((Y0 @ Y1) => 17.70/2.87 (((Y0 @ 17.70/2.87 Y2) => 17.70/2.87 (Y0 @ 17.70/2.87 (ap @ 17.70/2.87 Y1 @ Y2)))))))))))) => 17.70/2.87 (((((!!) @ (^[Y1 : term]: 17.70/2.87 (((Y0 @ Y1) => (Y0 @ 17.70/2.87 (lam @ Y1))))))) => 17.70/2.87 (((!!) @ (^[Y1 : term]: (Y0 @ Y1))))))))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term > $o]: 17.70/2.87 (((!!) @ (^[Y1 : term]: 17.70/2.87 (((!!) @ (^[Y2 : subst]: 17.70/2.87 (((((!!) @ ( 17.70/2.87 ^[Y3 : term]: 17.70/2.87 (( 17.70/2.87 (var @ 17.70/2.87 Y3) => 17.70/2.87 (Y0 @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y3 @ Y2))))))) => 17.70/2.87 (((Y0 @ Y1) => 17.70/2.87 (((!!) @ ( 17.70/2.87 ^[Y3 : term]: 17.70/2.87 (( 17.70/2.87 (var @ 17.70/2.87 Y3) => 17.70/2.87 (Y0 @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y3 @ 17.70/2.87 ( 17.70/2.87 push @ 17.70/2.87 Y1 @ Y2))))))))))))))))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term > $o]: 17.70/2.87 (((((!!) @ (^[Y1 : term]: 17.70/2.87 (((!!) @ (^[Y2 : term]: 17.70/2.87 (((Y0 @ 17.70/2.87 Y1) => 17.70/2.87 (( 17.70/2.87 (Y0 @ 17.70/2.87 Y2) => 17.70/2.87 (Y0 @ 17.70/2.87 (ap @ 17.70/2.87 Y1 @ Y2)))))))))))) => 17.70/2.87 (((((!!) @ (^[Y1 : term]: 17.70/2.87 (((((!!) @ (^[Y2 : term]: 17.70/2.87 (( 17.70/2.87 (Y0 @ 17.70/2.87 Y2) => 17.70/2.87 (Y0 @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y1 @ 17.70/2.87 ( 17.70/2.87 push @ 17.70/2.87 Y2 @ id)))))))) => 17.70/2.87 (Y0 @ (lam @ Y1))))))) => 17.70/2.87 (((!!) @ (^[Y1 : term]: 17.70/2.87 (((!!) @ (^[Y2 : subst]: 17.70/2.87 (( 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y3 : term]: 17.70/2.87 (( 17.70/2.87 (var @ 17.70/2.87 Y3) => 17.70/2.87 (Y0 @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y3 @ Y2))))))) => 17.70/2.87 (Y0 @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y1 @ Y2))))))))))))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term > $o]: 17.70/2.87 (((((!!) @ (^[Y1 : term]: 17.70/2.87 (((var @ Y1) => (Y0 @ 17.70/2.87 Y1)))))) => 17.70/2.87 (((((!!) @ (^[Y1 : term]: 17.70/2.87 (((!!) @ (^[Y2 : term]: 17.70/2.87 (( 17.70/2.87 (Y0 @ 17.70/2.87 Y1) => 17.70/2.87 (( 17.70/2.87 (Y0 @ 17.70/2.87 Y2) => 17.70/2.87 (Y0 @ 17.70/2.87 ( 17.70/2.87 ap @ 17.70/2.87 Y1 @ Y2)))))))))))) => 17.70/2.87 (((((!!) @ (^[Y1 : term]: 17.70/2.87 (((((!!) @ ( 17.70/2.87 ^[Y2 : term]: 17.70/2.87 (((Y0 @ 17.70/2.87 Y2) => 17.70/2.87 (Y0 @ 17.70/2.87 (sub @ 17.70/2.87 Y1 @ 17.70/2.87 ( 17.70/2.87 push @ 17.70/2.87 Y2 @ id)))))))) => 17.70/2.87 (Y0 @ 17.70/2.87 (lam @ Y1))))))) => 17.70/2.87 (((!!) @ (^[Y1 : term]: 17.70/2.87 (Y0 @ Y1))))))))))))) => 17.70/2.87 (((((((!!) @ (^[Y0 : subst]: 17.70/2.87 (((!!) @ (^[Y1 : subst]: 17.70/2.87 (((!!) @ (^[Y2 : subst]: 17.70/2.87 (( 17.70/2.87 (comp @ 17.70/2.87 ( 17.70/2.87 comp @ 17.70/2.87 Y0 @ Y1) @ 17.70/2.87 Y2) = 17.70/2.87 (comp @ 17.70/2.87 Y0 @ 17.70/2.87 ( 17.70/2.87 comp @ 17.70/2.87 Y1 @ Y2))))))))))))) & 17.70/2.87 (((!!) @ (^[Y0 : subst]: 17.70/2.87 (((comp @ id @ Y0) = (Y0)))))) & 17.70/2.87 (((!!) @ (^[Y0 : subst]: 17.70/2.87 (((comp @ Y0 @ id) = (Y0)))))))) => 17.70/2.87 (((((((!!) @ (^[Y0 : term]: 17.70/2.87 (((!!) @ (^[Y1 : subst]: 17.70/2.87 (((!!) @ ( 17.70/2.87 ^[Y2 : subst]: 17.70/2.87 (((sub @ 17.70/2.87 (sub @ Y0 @ 17.70/2.87 Y1) @ 17.70/2.87 Y2) = 17.70/2.87 (sub @ Y0 @ 17.70/2.87 (comp @ 17.70/2.87 Y1 @ Y2))))))))))))) & 17.70/2.87 (((!!) @ (^[Y0 : term]: 17.70/2.87 (((sub @ Y0 @ id) = (Y0)))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term]: 17.70/2.87 (((!!) @ (^[Y1 : term]: 17.70/2.87 (((!!) @ ( 17.70/2.87 ^[Y2 : term]: 17.70/2.87 (((!!) @ ( 17.70/2.87 ^[Y3 : term]: 17.70/2.87 (( 17.70/2.87 (( 17.70/2.87 (ap @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y0 @ id) @ 17.70/2.87 Y2) = 17.70/2.87 (ap @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y1 @ id) @ 17.70/2.87 Y3))) => 17.70/2.87 (( 17.70/2.87 (Y0) = 17.70/2.87 (Y1))))))))))))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term]: 17.70/2.87 (((!!) @ (^[Y1 : term]: 17.70/2.87 (((!!) @ ( 17.70/2.87 ^[Y2 : term]: 17.70/2.87 (((!!) @ ( 17.70/2.87 ^[Y3 : term]: 17.70/2.87 (( 17.70/2.87 (( 17.70/2.87 (ap @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y0 @ id) @ 17.70/2.87 Y2) = 17.70/2.87 (ap @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y1 @ id) @ 17.70/2.87 Y3))) => 17.70/2.87 (( 17.70/2.87 (Y2) = 17.70/2.87 (Y3))))))))))))))))) => 17.70/2.87 (((!!) @ (^[Y0 : subst > term > term]: 17.70/2.87 (((((!!) @ (^[Y1 : subst]: 17.70/2.87 (((!!) @ ( 17.70/2.87 ^[Y2 : term]: 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y3 : subst]: 17.70/2.87 (( 17.70/2.87 (sub @ 17.70/2.87 ( 17.70/2.87 Y0 @ 17.70/2.87 Y1 @ Y2) @ 17.70/2.87 Y3) = 17.70/2.87 (Y0 @ 17.70/2.87 ( 17.70/2.87 comp @ 17.70/2.87 Y1 @ Y3) @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y2 @ Y3))))))))))))) => 17.70/2.87 (((!!) @ (^[Y1 : subst > 17.70/2.87 term > term]: 17.70/2.87 (((((!!) @ ( 17.70/2.87 ^[Y2 : subst]: 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y3 : term]: 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y4 : subst]: 17.70/2.87 (( 17.70/2.87 (sub @ 17.70/2.87 ( 17.70/2.87 Y1 @ 17.70/2.87 Y2 @ Y3) @ 17.70/2.87 Y4) = 17.70/2.87 (Y1 @ 17.70/2.87 ( 17.70/2.87 comp @ 17.70/2.87 Y2 @ Y4) @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y3 @ Y4))))))))))))) => 17.70/2.87 (((( 17.70/2.87 (lam @ 17.70/2.87 (Y0 @ 17.70/2.87 sh @ one)) = 17.70/2.87 (lam @ 17.70/2.87 (Y1 @ 17.70/2.87 sh @ one)))) => 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y2 : subst]: 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y3 : term]: 17.70/2.87 (( 17.70/2.87 (Y0 @ 17.70/2.87 Y2 @ 17.70/2.87 Y3) = 17.70/2.87 (Y1 @ 17.70/2.87 Y2 @ Y3)))))))))))))))))))))))))))))))))))))))))))))))))))), 17.70/2.87 inference('lazy_cnf_imply', [status(thm)], [zip_derived_cl64])). 17.70/2.87 thf(zip_derived_cl71, plain, 17.70/2.87 (~ (((((!!) @ (^[Y0 : term]: 17.70/2.87 (((!!) @ (^[Y1 : term]: 17.70/2.87 (((!!) @ (^[Y2 : term]: 17.70/2.87 (((!!) @ (^[Y3 : term]: 17.70/2.87 (((((ap @ Y0 @ Y2) = 17.70/2.87 (ap @ Y1 @ Y3))) => 17.70/2.87 (((Y2) = (Y3))))))))))))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term]: 17.70/2.87 (((!!) @ (^[Y1 : term]: 17.70/2.87 (((((lam @ Y0) = (lam @ Y1))) => 17.70/2.87 (((Y0) = (Y1))))))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term]: 17.70/2.87 (((!!) @ (^[Y1 : term]: 17.70/2.87 (((((sub @ Y0 @ sh) = (sub @ Y1 @ sh))) => 17.70/2.87 (((Y0) = (Y1))))))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term]: 17.70/2.87 (((!!) @ (^[Y1 : term]: 17.70/2.87 (((!!) @ (^[Y2 : term]: 17.70/2.87 (((lam @ Y0) != (ap @ 17.70/2.87 Y1 @ Y2)))))))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term]: 17.70/2.87 (((!!) @ (^[Y1 : term]: 17.70/2.87 (((~) @ (var @ (ap @ Y0 @ Y1)))))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term]: (((~) @ (var @ (lam @ Y0))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term > $o]: 17.70/2.87 (((((!!) @ (^[Y1 : term]: 17.70/2.87 (((var @ Y1) => (Y0 @ Y1)))))) => 17.70/2.87 (((((!!) @ (^[Y1 : term]: 17.70/2.87 (((!!) @ (^[Y2 : term]: 17.70/2.87 (((Y0 @ Y1) => 17.70/2.87 (((Y0 @ Y2) => 17.70/2.87 (Y0 @ 17.70/2.87 (ap @ Y1 @ 17.70/2.87 Y2)))))))))))) => 17.70/2.87 (((((!!) @ (^[Y1 : term]: 17.70/2.87 (((Y0 @ Y1) => (Y0 @ 17.70/2.87 (lam @ Y1))))))) => 17.70/2.87 (((!!) @ (^[Y1 : term]: (Y0 @ Y1))))))))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term > $o]: 17.70/2.87 (((!!) @ (^[Y1 : term]: 17.70/2.87 (((!!) @ (^[Y2 : subst]: 17.70/2.87 (((((!!) @ ( 17.70/2.87 ^[Y3 : term]: 17.70/2.87 (((var @ 17.70/2.87 Y3) => 17.70/2.87 (Y0 @ 17.70/2.87 (sub @ 17.70/2.87 Y3 @ Y2))))))) => 17.70/2.87 (((Y0 @ Y1) => 17.70/2.87 (((!!) @ ( 17.70/2.87 ^[Y3 : term]: 17.70/2.87 (( 17.70/2.87 (var @ 17.70/2.87 Y3) => 17.70/2.87 (Y0 @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y3 @ 17.70/2.87 ( 17.70/2.87 push @ 17.70/2.87 Y1 @ Y2))))))))))))))))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term > $o]: 17.70/2.87 (((((!!) @ (^[Y1 : term]: 17.70/2.87 (((!!) @ (^[Y2 : term]: 17.70/2.87 (((Y0 @ Y1) => 17.70/2.87 (((Y0 @ 17.70/2.87 Y2) => 17.70/2.87 (Y0 @ 17.70/2.87 (ap @ 17.70/2.87 Y1 @ Y2)))))))))))) => 17.70/2.87 (((((!!) @ (^[Y1 : term]: 17.70/2.87 (((((!!) @ (^[Y2 : term]: 17.70/2.87 (( 17.70/2.87 (Y0 @ 17.70/2.87 Y2) => 17.70/2.87 (Y0 @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y1 @ 17.70/2.87 ( 17.70/2.87 push @ 17.70/2.87 Y2 @ id)))))))) => 17.70/2.87 (Y0 @ (lam @ Y1))))))) => 17.70/2.87 (((!!) @ (^[Y1 : term]: 17.70/2.87 (((!!) @ (^[Y2 : subst]: 17.70/2.87 (((( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y3 : term]: 17.70/2.87 (( 17.70/2.87 (var @ 17.70/2.87 Y3) => 17.70/2.87 (Y0 @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y3 @ Y2))))))) => 17.70/2.87 (Y0 @ 17.70/2.87 (sub @ 17.70/2.87 Y1 @ Y2))))))))))))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term > $o]: 17.70/2.87 (((((!!) @ (^[Y1 : term]: 17.70/2.87 (((var @ Y1) => (Y0 @ 17.70/2.87 Y1)))))) => 17.70/2.87 (((((!!) @ (^[Y1 : term]: 17.70/2.87 (((!!) @ (^[Y2 : term]: 17.70/2.87 (( 17.70/2.87 (Y0 @ 17.70/2.87 Y1) => 17.70/2.87 (( 17.70/2.87 (Y0 @ 17.70/2.87 Y2) => 17.70/2.87 (Y0 @ 17.70/2.87 ( 17.70/2.87 ap @ 17.70/2.87 Y1 @ Y2)))))))))))) => 17.70/2.87 (((((!!) @ (^[Y1 : term]: 17.70/2.87 (((((!!) @ ( 17.70/2.87 ^[Y2 : term]: 17.70/2.87 (((Y0 @ Y2) => 17.70/2.87 (Y0 @ 17.70/2.87 (sub @ Y1 @ 17.70/2.87 (push @ 17.70/2.87 Y2 @ id)))))))) => 17.70/2.87 (Y0 @ (lam @ Y1))))))) => 17.70/2.87 (((!!) @ (^[Y1 : term]: 17.70/2.87 (Y0 @ Y1))))))))))))) => 17.70/2.87 (((((((!!) @ (^[Y0 : subst]: 17.70/2.87 (((!!) @ (^[Y1 : subst]: 17.70/2.87 (((!!) @ (^[Y2 : subst]: 17.70/2.87 (( 17.70/2.87 (comp @ 17.70/2.87 ( 17.70/2.87 comp @ 17.70/2.87 Y0 @ Y1) @ 17.70/2.87 Y2) = 17.70/2.87 (comp @ 17.70/2.87 Y0 @ 17.70/2.87 ( 17.70/2.87 comp @ 17.70/2.87 Y1 @ Y2))))))))))))) & 17.70/2.87 (((!!) @ (^[Y0 : subst]: 17.70/2.87 (((comp @ id @ Y0) = (Y0)))))) & 17.70/2.87 (((!!) @ (^[Y0 : subst]: 17.70/2.87 (((comp @ Y0 @ id) = (Y0)))))))) => 17.70/2.87 (((((((!!) @ (^[Y0 : term]: 17.70/2.87 (((!!) @ (^[Y1 : subst]: 17.70/2.87 (((!!) @ (^[Y2 : subst]: 17.70/2.87 (( 17.70/2.87 (sub @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y0 @ Y1) @ 17.70/2.87 Y2) = 17.70/2.87 (sub @ 17.70/2.87 Y0 @ 17.70/2.87 ( 17.70/2.87 comp @ 17.70/2.87 Y1 @ Y2))))))))))))) & 17.70/2.87 (((!!) @ (^[Y0 : term]: 17.70/2.87 (((sub @ Y0 @ id) = (Y0)))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term]: 17.70/2.87 (((!!) @ (^[Y1 : term]: 17.70/2.87 (((!!) @ (^[Y2 : term]: 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y3 : term]: 17.70/2.87 (( 17.70/2.87 (( 17.70/2.87 (ap @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y0 @ id) @ 17.70/2.87 Y2) = 17.70/2.87 (ap @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y1 @ id) @ 17.70/2.87 Y3))) => 17.70/2.87 (( 17.70/2.87 (Y0) = 17.70/2.87 (Y1))))))))))))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term]: 17.70/2.87 (((!!) @ (^[Y1 : term]: 17.70/2.87 (((!!) @ ( 17.70/2.87 ^[Y2 : term]: 17.70/2.87 (((!!) @ ( 17.70/2.87 ^[Y3 : term]: 17.70/2.87 (( 17.70/2.87 (( 17.70/2.87 (ap @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y0 @ id) @ 17.70/2.87 Y2) = 17.70/2.87 (ap @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y1 @ id) @ 17.70/2.87 Y3))) => 17.70/2.87 (( 17.70/2.87 (Y2) = 17.70/2.87 (Y3))))))))))))))))) => 17.70/2.87 (((!!) @ (^[Y0 : subst > term > term]: 17.70/2.87 (((((!!) @ (^[Y1 : subst]: 17.70/2.87 (((!!) @ ( 17.70/2.87 ^[Y2 : term]: 17.70/2.87 (((!!) @ ( 17.70/2.87 ^[Y3 : subst]: 17.70/2.87 (( 17.70/2.87 (sub @ 17.70/2.87 ( 17.70/2.87 Y0 @ 17.70/2.87 Y1 @ Y2) @ 17.70/2.87 Y3) = 17.70/2.87 (Y0 @ 17.70/2.87 ( 17.70/2.87 comp @ 17.70/2.87 Y1 @ Y3) @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y2 @ Y3))))))))))))) => 17.70/2.87 (((!!) @ (^[Y1 : subst > 17.70/2.87 term > term]: 17.70/2.87 (((((!!) @ ( 17.70/2.87 ^[Y2 : subst]: 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y3 : term]: 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y4 : subst]: 17.70/2.87 (( 17.70/2.87 (sub @ 17.70/2.87 ( 17.70/2.87 Y1 @ 17.70/2.87 Y2 @ Y3) @ 17.70/2.87 Y4) = 17.70/2.87 (Y1 @ 17.70/2.87 ( 17.70/2.87 comp @ 17.70/2.87 Y2 @ Y4) @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y3 @ Y4))))))))))))) => 17.70/2.87 (((((lam @ 17.70/2.87 (Y0 @ 17.70/2.87 sh @ one)) = 17.70/2.87 (lam @ 17.70/2.87 (Y1 @ 17.70/2.87 sh @ one)))) => 17.70/2.87 (((!!) @ ( 17.70/2.87 ^[Y2 : subst]: 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y3 : term]: 17.70/2.87 (( 17.70/2.87 (Y0 @ 17.70/2.87 Y2 @ 17.70/2.87 Y3) = 17.70/2.87 (Y1 @ 17.70/2.87 Y2 @ Y3)))))))))))))))))))))))))))))))))))))))))))))))))), 17.70/2.87 inference('lazy_cnf_imply', [status(thm)], [zip_derived_cl67])). 17.70/2.87 thf(zip_derived_cl75, plain, 17.70/2.87 (~ (((((!!) @ (^[Y0 : term]: 17.70/2.87 (((!!) @ (^[Y1 : term]: 17.70/2.87 (((((lam @ Y0) = (lam @ Y1))) => 17.70/2.87 (((Y0) = (Y1))))))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term]: 17.70/2.87 (((!!) @ (^[Y1 : term]: 17.70/2.87 (((((sub @ Y0 @ sh) = (sub @ Y1 @ sh))) => 17.70/2.87 (((Y0) = (Y1))))))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term]: 17.70/2.87 (((!!) @ (^[Y1 : term]: 17.70/2.87 (((!!) @ (^[Y2 : term]: 17.70/2.87 (((lam @ Y0) != (ap @ Y1 @ 17.70/2.87 Y2)))))))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term]: 17.70/2.87 (((!!) @ (^[Y1 : term]: 17.70/2.87 (((~) @ (var @ (ap @ Y0 @ Y1)))))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term]: (((~) @ (var @ (lam @ Y0))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term > $o]: 17.70/2.87 (((((!!) @ (^[Y1 : term]: 17.70/2.87 (((var @ Y1) => (Y0 @ Y1)))))) => 17.70/2.87 (((((!!) @ (^[Y1 : term]: 17.70/2.87 (((!!) @ (^[Y2 : term]: 17.70/2.87 (((Y0 @ Y1) => 17.70/2.87 (((Y0 @ Y2) => 17.70/2.87 (Y0 @ 17.70/2.87 (ap @ Y1 @ Y2)))))))))))) => 17.70/2.87 (((((!!) @ (^[Y1 : term]: 17.70/2.87 (((Y0 @ Y1) => (Y0 @ 17.70/2.87 (lam @ Y1))))))) => 17.70/2.87 (((!!) @ (^[Y1 : term]: (Y0 @ Y1))))))))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term > $o]: 17.70/2.87 (((!!) @ (^[Y1 : term]: 17.70/2.87 (((!!) @ (^[Y2 : subst]: 17.70/2.87 (((((!!) @ ( 17.70/2.87 ^[Y3 : term]: 17.70/2.87 (((var @ 17.70/2.87 Y3) => 17.70/2.87 (Y0 @ 17.70/2.87 (sub @ Y3 @ 17.70/2.87 Y2))))))) => 17.70/2.87 (((Y0 @ Y1) => 17.70/2.87 (((!!) @ ( 17.70/2.87 ^[Y3 : term]: 17.70/2.87 (((var @ 17.70/2.87 Y3) => 17.70/2.87 (Y0 @ 17.70/2.87 (sub @ 17.70/2.87 Y3 @ 17.70/2.87 ( 17.70/2.87 push @ 17.70/2.87 Y1 @ Y2))))))))))))))))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term > $o]: 17.70/2.87 (((((!!) @ (^[Y1 : term]: 17.70/2.87 (((!!) @ (^[Y2 : term]: 17.70/2.87 (((Y0 @ Y1) => 17.70/2.87 (((Y0 @ Y2) => 17.70/2.87 (Y0 @ 17.70/2.87 (ap @ Y1 @ 17.70/2.87 Y2)))))))))))) => 17.70/2.87 (((((!!) @ (^[Y1 : term]: 17.70/2.87 (((((!!) @ (^[Y2 : term]: 17.70/2.87 (((Y0 @ 17.70/2.87 Y2) => 17.70/2.87 (Y0 @ 17.70/2.87 (sub @ 17.70/2.87 Y1 @ 17.70/2.87 ( 17.70/2.87 push @ 17.70/2.87 Y2 @ id)))))))) => 17.70/2.87 (Y0 @ (lam @ Y1))))))) => 17.70/2.87 (((!!) @ (^[Y1 : term]: 17.70/2.87 (((!!) @ (^[Y2 : subst]: 17.70/2.87 (((((!!) @ ( 17.70/2.87 ^[Y3 : term]: 17.70/2.87 (( 17.70/2.87 (var @ 17.70/2.87 Y3) => 17.70/2.87 (Y0 @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y3 @ Y2))))))) => 17.70/2.87 (Y0 @ 17.70/2.87 (sub @ Y1 @ 17.70/2.87 Y2))))))))))))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term > $o]: 17.70/2.87 (((((!!) @ (^[Y1 : term]: 17.70/2.87 (((var @ Y1) => (Y0 @ Y1)))))) => 17.70/2.87 (((((!!) @ (^[Y1 : term]: 17.70/2.87 (((!!) @ (^[Y2 : term]: 17.70/2.87 (((Y0 @ 17.70/2.87 Y1) => 17.70/2.87 (( 17.70/2.87 (Y0 @ 17.70/2.87 Y2) => 17.70/2.87 (Y0 @ 17.70/2.87 (ap @ 17.70/2.87 Y1 @ Y2)))))))))))) => 17.70/2.87 (((((!!) @ (^[Y1 : term]: 17.70/2.87 (((((!!) @ (^[Y2 : term]: 17.70/2.87 (( 17.70/2.87 (Y0 @ 17.70/2.87 Y2) => 17.70/2.87 (Y0 @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y1 @ 17.70/2.87 ( 17.70/2.87 push @ 17.70/2.87 Y2 @ id)))))))) => 17.70/2.87 (Y0 @ (lam @ Y1))))))) => 17.70/2.87 (((!!) @ (^[Y1 : term]: (Y0 @ Y1))))))))))))) => 17.70/2.87 (((((((!!) @ (^[Y0 : subst]: 17.70/2.87 (((!!) @ (^[Y1 : subst]: 17.70/2.87 (((!!) @ (^[Y2 : subst]: 17.70/2.87 (((comp @ 17.70/2.87 (comp @ 17.70/2.87 Y0 @ Y1) @ 17.70/2.87 Y2) = 17.70/2.87 (comp @ 17.70/2.87 Y0 @ 17.70/2.87 (comp @ 17.70/2.87 Y1 @ Y2))))))))))))) & 17.70/2.87 (((!!) @ (^[Y0 : subst]: 17.70/2.87 (((comp @ id @ Y0) = (Y0)))))) & 17.70/2.87 (((!!) @ (^[Y0 : subst]: 17.70/2.87 (((comp @ Y0 @ id) = (Y0)))))))) => 17.70/2.87 (((((((!!) @ (^[Y0 : term]: 17.70/2.87 (((!!) @ (^[Y1 : subst]: 17.70/2.87 (((!!) @ (^[Y2 : subst]: 17.70/2.87 (( 17.70/2.87 (sub @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y0 @ Y1) @ 17.70/2.87 Y2) = 17.70/2.87 (sub @ 17.70/2.87 Y0 @ 17.70/2.87 ( 17.70/2.87 comp @ 17.70/2.87 Y1 @ Y2))))))))))))) & 17.70/2.87 (((!!) @ (^[Y0 : term]: 17.70/2.87 (((sub @ Y0 @ id) = (Y0)))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term]: 17.70/2.87 (((!!) @ (^[Y1 : term]: 17.70/2.87 (((!!) @ (^[Y2 : term]: 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y3 : term]: 17.70/2.87 (( 17.70/2.87 (( 17.70/2.87 (ap @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y0 @ id) @ 17.70/2.87 Y2) = 17.70/2.87 (ap @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y1 @ id) @ 17.70/2.87 Y3))) => 17.70/2.87 (( 17.70/2.87 (Y0) = 17.70/2.87 (Y1))))))))))))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term]: 17.70/2.87 (((!!) @ (^[Y1 : term]: 17.70/2.87 (((!!) @ (^[Y2 : term]: 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y3 : term]: 17.70/2.87 (( 17.70/2.87 (( 17.70/2.87 (ap @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y0 @ id) @ 17.70/2.87 Y2) = 17.70/2.87 (ap @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y1 @ id) @ 17.70/2.87 Y3))) => 17.70/2.87 (( 17.70/2.87 (Y2) = 17.70/2.87 (Y3))))))))))))))))) => 17.70/2.87 (((!!) @ (^[Y0 : subst > term > term]: 17.70/2.87 (((((!!) @ (^[Y1 : subst]: 17.70/2.87 (((!!) @ ( 17.70/2.87 ^[Y2 : term]: 17.70/2.87 (((!!) @ ( 17.70/2.87 ^[Y3 : subst]: 17.70/2.87 (( 17.70/2.87 (sub @ 17.70/2.87 ( 17.70/2.87 Y0 @ 17.70/2.87 Y1 @ Y2) @ 17.70/2.87 Y3) = 17.70/2.87 (Y0 @ 17.70/2.87 ( 17.70/2.87 comp @ 17.70/2.87 Y1 @ Y3) @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y2 @ Y3))))))))))))) => 17.70/2.87 (((!!) @ (^[Y1 : subst > term > term]: 17.70/2.87 (((((!!) @ ( 17.70/2.87 ^[Y2 : subst]: 17.70/2.87 (((!!) @ ( 17.70/2.87 ^[Y3 : term]: 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y4 : subst]: 17.70/2.87 (( 17.70/2.87 (sub @ 17.70/2.87 ( 17.70/2.87 Y1 @ 17.70/2.87 Y2 @ Y3) @ 17.70/2.87 Y4) = 17.70/2.87 (Y1 @ 17.70/2.87 ( 17.70/2.87 comp @ 17.70/2.87 Y2 @ Y4) @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y3 @ Y4))))))))))))) => 17.70/2.87 (((((lam @ 17.70/2.87 (Y0 @ sh @ 17.70/2.87 one)) = 17.70/2.87 (lam @ 17.70/2.87 (Y1 @ sh @ 17.70/2.87 one)))) => 17.70/2.87 (((!!) @ ( 17.70/2.87 ^[Y2 : subst]: 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y3 : term]: 17.70/2.87 (( 17.70/2.87 (Y0 @ 17.70/2.87 Y2 @ 17.70/2.87 Y3) = 17.70/2.87 (Y1 @ 17.70/2.87 Y2 @ Y3)))))))))))))))))))))))))))))))))))))))))))))))), 17.70/2.87 inference('lazy_cnf_imply', [status(thm)], [zip_derived_cl71])). 17.70/2.87 thf(zip_derived_cl79, plain, 17.70/2.87 ( (((!!) @ (^[Y0 : term]: 17.70/2.87 (((!!) @ (^[Y1 : term]: 17.70/2.87 (((((lam @ Y0) = (lam @ Y1))) => 17.70/2.87 (((Y0) = (Y1)))))))))))), 17.70/2.87 inference('lazy_cnf_imply', [status(thm)], [zip_derived_cl75])). 17.70/2.87 thf(zip_derived_cl84, plain, 17.70/2.87 (![X2 : term]: 17.70/2.87 (((!!) @ (^[Y0 : term]: 17.70/2.87 (((((lam @ X2) = (lam @ Y0))) => (((X2) = (Y0))))))))), 17.70/2.87 inference('lazy_cnf_forall', [status(thm)], [zip_derived_cl79])). 17.70/2.87 thf(zip_derived_cl91, plain, 17.70/2.87 (![X2 : term, X4 : term]: 17.70/2.87 (((((lam @ X2) = (lam @ X4))) => (((X2) = (X4)))))), 17.70/2.87 inference('lazy_cnf_forall', [status(thm)], [zip_derived_cl84])). 17.70/2.87 thf(zip_derived_cl100, plain, 17.70/2.87 (![X2 : term, X4 : term]: 17.70/2.87 (~ (((lam @ X2) = (lam @ X4))) | (((X2) = (X4))))), 17.70/2.87 inference('lazy_cnf_imply', [status(thm)], [zip_derived_cl91])). 17.70/2.87 thf(zip_derived_cl110, plain, 17.70/2.87 (![X2 : term, X4 : term]: (((lam @ X2) != (lam @ X4)) | ((X2) = (X4)))), 17.70/2.87 inference('simplify nested equalities', [status(thm)], 17.70/2.87 [zip_derived_cl100])). 17.70/2.87 thf(zip_derived_cl487, plain, 17.70/2.87 (![X2 : term]: (('#_fresh_sk1288' @ (lam @ X2)) = (X2))), 17.70/2.87 inference('inj_rec', [status(thm)], [zip_derived_cl110])). 17.70/2.87 thf(zip_derived_cl0, plain, 17.70/2.87 (~ (((((!!) @ (^[Y0 : term]: 17.70/2.87 (((!!) @ (^[Y1 : term]: 17.70/2.87 (((!!) @ (^[Y2 : subst]: 17.70/2.87 (((sub @ (ap @ Y0 @ Y1) @ Y2) = 17.70/2.87 (ap @ (sub @ Y0 @ Y2) @ 17.70/2.87 (sub @ Y1 @ Y2))))))))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term]: 17.70/2.87 (((!!) @ (^[Y1 : subst]: 17.70/2.87 (((sub @ one @ (push @ Y0 @ Y1)) = (Y0))))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term]: (((sub @ Y0 @ id) = (Y0)))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term]: 17.70/2.87 (((!!) @ (^[Y1 : subst]: 17.70/2.87 (((sub @ (lam @ Y0) @ Y1) = (lam @ 17.70/2.87 (sub @ Y0 @ 17.70/2.87 (push @ one @ (comp @ Y1 @ sh)))))))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term]: 17.70/2.87 (((!!) @ (^[Y1 : subst]: 17.70/2.87 (((!!) @ (^[Y2 : subst]: 17.70/2.87 (((sub @ 17.70/2.87 (sub @ Y0 @ Y1) @ 17.70/2.87 Y2) = (sub @ Y0 @ 17.70/2.87 (comp @ Y1 @ Y2))))))))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : subst]: (((comp @ id @ Y0) = (Y0)))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term]: 17.70/2.87 (((!!) @ (^[Y1 : subst]: 17.70/2.87 (((comp @ sh @ 17.70/2.87 (push @ Y0 @ Y1)) = (Y1))))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : subst]: 17.70/2.87 (((!!) @ (^[Y1 : subst]: 17.70/2.87 (((!!) @ (^[Y2 : subst]: 17.70/2.87 (((comp @ 17.70/2.87 (comp @ Y0 @ Y1) @ 17.70/2.87 Y2) = (comp @ 17.70/2.87 Y0 @ 17.70/2.87 (comp @ Y1 @ Y2))))))))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term]: 17.70/2.87 (((!!) @ (^[Y1 : subst]: 17.70/2.87 (((!!) @ (^[Y2 : subst]: 17.70/2.87 (((comp @ 17.70/2.87 (push @ Y0 @ 17.70/2.87 Y1) @ 17.70/2.87 Y2) = (push @ 17.70/2.87 (sub @ Y0 @ Y2) @ 17.70/2.87 (comp @ Y1 @ 17.70/2.87 Y2))))))))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : subst]: 17.70/2.87 (((comp @ Y0 @ id) = (Y0)))))) => 17.70/2.87 (((((push @ one @ sh) = (id))) => 17.70/2.87 (((((!!) @ (^[Y0 : subst]: 17.70/2.87 (((push @ (sub @ one @ Y0) @ 17.70/2.87 (comp @ sh @ Y0)) = (Y0)))))) => 17.70/2.87 (((var @ one) => 17.70/2.87 (((((!!) @ (^[Y0 : term]: 17.70/2.87 (((var @ Y0) => (var @ 17.70/2.87 (sub @ Y0 @ sh))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term > $o]: 17.70/2.87 (((Y0 @ one) => 17.70/2.87 (((((!!) @ (^[Y1 : term]: 17.70/2.87 (((var @ 17.70/2.87 Y1) => 17.70/2.87 (( 17.70/2.87 (Y0 @ 17.70/2.87 Y1) => 17.70/2.87 (Y0 @ 17.70/2.87 (sub @ 17.70/2.87 Y1 @ sh))))))))) => 17.70/2.87 (((!!) @ (^[Y1 : term]: 17.70/2.87 (((var @ 17.70/2.87 Y1) => 17.70/2.87 (Y0 @ Y1))))))))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term]: 17.70/2.87 (((!!) @ (^[Y1 : term]: 17.70/2.87 (((!!) @ ( 17.70/2.87 ^[Y2 : term]: 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y3 : term]: 17.70/2.87 (( 17.70/2.87 (( 17.70/2.87 (ap @ 17.70/2.87 Y0 @ 17.70/2.87 Y2) = 17.70/2.87 (ap @ 17.70/2.87 Y1 @ Y3))) => 17.70/2.87 (( 17.70/2.87 (Y0) = 17.70/2.87 (Y1))))))))))))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term]: 17.70/2.87 (((!!) @ (^[Y1 : term]: 17.70/2.87 (((!!) @ ( 17.70/2.87 ^[Y2 : term]: 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y3 : term]: 17.70/2.87 (( 17.70/2.87 (( 17.70/2.87 (ap @ 17.70/2.87 Y0 @ 17.70/2.87 Y2) = 17.70/2.87 (ap @ 17.70/2.87 Y1 @ Y3))) => 17.70/2.87 (( 17.70/2.87 (Y2) = 17.70/2.87 (Y3))))))))))))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term]: 17.70/2.87 (((!!) @ (^[Y1 : term]: 17.70/2.87 (( 17.70/2.87 (( 17.70/2.87 (lam @ 17.70/2.87 Y0) = 17.70/2.87 (lam @ 17.70/2.87 Y1))) => 17.70/2.87 (( 17.70/2.87 (Y0) = 17.70/2.87 (Y1))))))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term]: 17.70/2.87 (((!!) @ (^[Y1 : term]: 17.70/2.87 (( 17.70/2.87 (( 17.70/2.87 (sub @ 17.70/2.87 Y0 @ 17.70/2.87 sh) = 17.70/2.87 (sub @ 17.70/2.87 Y1 @ sh))) => 17.70/2.87 (( 17.70/2.87 (Y0) = 17.70/2.87 (Y1))))))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term]: 17.70/2.87 (((!!) @ ( 17.70/2.87 ^[Y1 : term]: 17.70/2.87 (((!!) @ ( 17.70/2.87 ^[Y2 : term]: 17.70/2.87 (( 17.70/2.87 (lam @ 17.70/2.87 Y0) != 17.70/2.87 (ap @ 17.70/2.87 Y1 @ Y2)))))))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term]: 17.70/2.87 (((!!) @ ( 17.70/2.87 ^[Y1 : term]: 17.70/2.87 (((~) @ ( 17.70/2.87 var @ 17.70/2.87 (ap @ 17.70/2.87 Y0 @ Y1)))))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term]: 17.70/2.87 (((~) @ ( 17.70/2.87 var @ 17.70/2.87 (lam @ Y0))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term > $o]: 17.70/2.87 (((( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y1 : term]: 17.70/2.87 (( 17.70/2.87 (var @ 17.70/2.87 Y1) => 17.70/2.87 (Y0 @ Y1)))))) => 17.70/2.87 (( 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y1 : term]: 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y2 : term]: 17.70/2.87 (( 17.70/2.87 (Y0 @ 17.70/2.87 Y1) => 17.70/2.87 (( 17.70/2.87 (Y0 @ 17.70/2.87 Y2) => 17.70/2.87 (Y0 @ 17.70/2.87 ( 17.70/2.87 ap @ 17.70/2.87 Y1 @ Y2)))))))))))) => 17.70/2.87 (( 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y1 : term]: 17.70/2.87 (( 17.70/2.87 (Y0 @ 17.70/2.87 Y1) => 17.70/2.87 (Y0 @ 17.70/2.87 ( 17.70/2.87 lam @ Y1))))))) => 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y1 : term]: 17.70/2.87 (Y0 @ Y1))))))))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term > $o]: 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y1 : term]: 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y2 : subst]: 17.70/2.87 (( 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y3 : term]: 17.70/2.87 (( 17.70/2.87 (var @ 17.70/2.87 Y3) => 17.70/2.87 (Y0 @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y3 @ Y2))))))) => 17.70/2.87 (( 17.70/2.87 (Y0 @ 17.70/2.87 Y1) => 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y3 : term]: 17.70/2.87 (( 17.70/2.87 (var @ 17.70/2.87 Y3) => 17.70/2.87 (Y0 @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y3 @ 17.70/2.87 ( 17.70/2.87 push @ 17.70/2.87 Y1 @ Y2))))))))))))))))))))) => 17.70/2.87 (((((!!) @ (^[Y0 : term > $o]: 17.70/2.87 (( 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y1 : term]: 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y2 : term]: 17.70/2.87 (( 17.70/2.87 (Y0 @ 17.70/2.87 Y1) => 17.70/2.87 (( 17.70/2.87 (Y0 @ 17.70/2.87 Y2) => 17.70/2.87 (Y0 @ 17.70/2.87 ( 17.70/2.87 ap @ 17.70/2.87 Y1 @ Y2)))))))))))) => 17.70/2.87 (( 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y1 : term]: 17.70/2.87 (( 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y2 : term]: 17.70/2.87 (( 17.70/2.87 (Y0 @ 17.70/2.87 Y2) => 17.70/2.87 (Y0 @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y1 @ 17.70/2.87 ( 17.70/2.87 push @ 17.70/2.87 Y2 @ id)))))))) => 17.70/2.87 (Y0 @ 17.70/2.87 ( 17.70/2.87 lam @ Y1))))))) => 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y1 : term]: 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y2 : subst]: 17.70/2.87 (( 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y3 : term]: 17.70/2.87 (( 17.70/2.87 (var @ 17.70/2.87 Y3) => 17.70/2.87 (Y0 @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y3 @ Y2))))))) => 17.70/2.87 (Y0 @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y1 @ Y2))))))))))))))))) => 17.70/2.87 (((((!!) @ ( 17.70/2.87 ^[Y0 : term > $o]: 17.70/2.87 (((((!!) @ ( 17.70/2.87 ^[Y1 : term]: 17.70/2.87 (( 17.70/2.87 (var @ 17.70/2.87 Y1) => 17.70/2.87 (Y0 @ Y1)))))) => 17.70/2.87 (((( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y1 : term]: 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y2 : term]: 17.70/2.87 (( 17.70/2.87 (Y0 @ 17.70/2.87 Y1) => 17.70/2.87 (( 17.70/2.87 (Y0 @ 17.70/2.87 Y2) => 17.70/2.87 (Y0 @ 17.70/2.87 ( 17.70/2.87 ap @ 17.70/2.87 Y1 @ Y2)))))))))))) => 17.70/2.87 (( 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y1 : term]: 17.70/2.87 (( 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y2 : term]: 17.70/2.87 (( 17.70/2.87 (Y0 @ 17.70/2.87 Y2) => 17.70/2.87 (Y0 @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y1 @ 17.70/2.87 ( 17.70/2.87 push @ 17.70/2.87 Y2 @ id)))))))) => 17.70/2.87 (Y0 @ 17.70/2.87 ( 17.70/2.87 lam @ Y1))))))) => 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y1 : term]: 17.70/2.87 (Y0 @ Y1))))))))))))) => 17.70/2.87 (((((((!!) @ ( 17.70/2.87 ^[Y0 : subst]: 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y1 : subst]: 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y2 : subst]: 17.70/2.87 (( 17.70/2.87 (comp @ 17.70/2.87 ( 17.70/2.87 comp @ 17.70/2.87 Y0 @ Y1) @ 17.70/2.87 Y2) = 17.70/2.87 (comp @ 17.70/2.87 Y0 @ 17.70/2.87 ( 17.70/2.87 comp @ 17.70/2.87 Y1 @ Y2))))))))))))) & 17.70/2.87 (((!!) @ ( 17.70/2.87 ^[Y0 : subst]: 17.70/2.87 (( 17.70/2.87 (comp @ 17.70/2.87 id @ 17.70/2.87 Y0) = 17.70/2.87 (Y0)))))) & 17.70/2.87 (((!!) @ ( 17.70/2.87 ^[Y0 : subst]: 17.70/2.87 (( 17.70/2.87 (comp @ 17.70/2.87 Y0 @ 17.70/2.87 id) = 17.70/2.87 (Y0)))))))) => 17.70/2.87 (((((((!!) @ ( 17.70/2.87 ^[Y0 : term]: 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y1 : subst]: 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y2 : subst]: 17.70/2.87 (( 17.70/2.87 (sub @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y0 @ Y1) @ 17.70/2.87 Y2) = 17.70/2.87 (sub @ 17.70/2.87 Y0 @ 17.70/2.87 ( 17.70/2.87 comp @ 17.70/2.87 Y1 @ Y2))))))))))))) & 17.70/2.87 (((!!) @ ( 17.70/2.87 ^[Y0 : term]: 17.70/2.87 (( 17.70/2.87 (sub @ 17.70/2.87 Y0 @ 17.70/2.87 id) = 17.70/2.87 (Y0)))))))) => 17.70/2.87 (((((!!) @ ( 17.70/2.87 ^[Y0 : term]: 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y1 : term]: 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y2 : term]: 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y3 : term]: 17.70/2.87 (( 17.70/2.87 (( 17.70/2.87 (ap @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y0 @ id) @ 17.70/2.87 Y2) = 17.70/2.87 (ap @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y1 @ id) @ 17.70/2.87 Y3))) => 17.70/2.87 (( 17.70/2.87 (Y0) = 17.70/2.87 (Y1))))))))))))))))) => 17.70/2.87 (((( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y0 : term]: 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y1 : term]: 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y2 : term]: 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y3 : term]: 17.70/2.87 (( 17.70/2.87 (( 17.70/2.87 (ap @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y0 @ id) @ 17.70/2.87 Y2) = 17.70/2.87 (ap @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y1 @ id) @ 17.70/2.87 Y3))) => 17.70/2.87 (( 17.70/2.87 (Y2) = 17.70/2.87 (Y3))))))))))))))))) => 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y0 : 17.70/2.87 subst > 17.70/2.87 term > term]: 17.70/2.87 (( 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y1 : subst]: 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y2 : term]: 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y3 : subst]: 17.70/2.87 (( 17.70/2.87 (sub @ 17.70/2.87 ( 17.70/2.87 Y0 @ 17.70/2.87 Y1 @ Y2) @ 17.70/2.87 Y3) = 17.70/2.87 (Y0 @ 17.70/2.87 ( 17.70/2.87 comp @ 17.70/2.87 Y1 @ Y3) @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y2 @ Y3))))))))))))) => 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y1 : 17.70/2.87 subst > 17.70/2.87 term > term]: 17.70/2.87 (( 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y2 : subst]: 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y3 : term]: 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y4 : subst]: 17.70/2.87 (( 17.70/2.87 (sub @ 17.70/2.87 ( 17.70/2.87 Y1 @ 17.70/2.87 Y2 @ Y3) @ 17.70/2.87 Y4) = 17.70/2.87 (Y1 @ 17.70/2.87 ( 17.70/2.87 comp @ 17.70/2.87 Y2 @ Y4) @ 17.70/2.87 ( 17.70/2.87 sub @ 17.70/2.87 Y3 @ Y4))))))))))))) => 17.70/2.87 (( 17.70/2.87 (( 17.70/2.87 (lam @ 17.70/2.87 ( 17.70/2.87 Y0 @ 17.70/2.87 sh @ one)) = 17.70/2.87 (lam @ 17.70/2.87 ( 17.70/2.87 Y1 @ 17.70/2.87 sh @ one)))) => 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y2 : subst]: 17.70/2.87 (( 17.70/2.87 (!!) @ ( 17.70/2.87 ^[Y3 : term]: 17.70/2.87 (( 17.70/2.87 (Y0 @ 17.70/2.87 Y2 @ 17.70/2.87 Y3) = 17.70/2.87 (Y1 @ 17.70/2.87 Y2 @ Y3)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), 17.70/2.87 inference('cnf', [status(esa)], [zf_stmt_1])). 17.70/2.87 thf(zip_derived_cl2174, plain, ($false), 17.70/2.87 inference('eprover', [status(thm)], [zip_derived_cl487, zip_derived_cl0])). 17.70/2.87 17.70/2.87 % SZS output end Refutation 17.70/2.87 17.70/2.87 17.70/2.87 % Terminating... 18.32/2.95 % Runner terminated. 18.32/2.96 % Zipperpin 1.5 exiting 18.32/2.98 EOF